On Sun, 11 Feb 2024 at 19:02, Peter J. Holzer <hjp-pgsql@hjp.at> wrote:
> Similarly for Number/Numeric data type.
Number in Oracle and numeric in PostgreSQL are variable length types. But in PostgreSQL you also have a lot of fixed length numeric types (from boolean to bigint as well as float4 and float8) and you would normally prefer those over numeric (unless you really need a decimal or very long type). So padding is something you would encounter in a typical PostgreSQL database while it just wouldn't happen in a typical Oracle database.
When you said "you would normally prefer those over numeric " I was thinking the opposite. As you mentioned integer is a fixed length data type and will occupy 4 bytes whether you store 15 or 99999999.But in case of variable length type like Number or numeric , it will resize itself based on the actual data, So is there any downside of going with the variable length data type like Numeric, Varchar type always for defining the data elements?