My understanding is that Postgres can guarantee that all the values in the 
table will fit the new precision without having to check. If you change the 
scale, it might be the case that some values won’t fit anymore, and Postgres 
must return an error. Numeric by itself is a variable length type, like TEXT 
(in a sense). That’s why we can modify its size without requiring a table 
rewrite at all!

Reply via email to