I'm looking for getting anticipated table size by referring column type and length size. I'm trying to use pg_column_size
for this.
When testing the function, I realized something seems wrong with this function.
The result value from pg_column_size(...)
is sometimes even smaller than the return value from octet_length(...)
on the same string.
There is nothing but numeric characters in the column.
postgres=# d+ t5
Table "public.t5"
Column | Type | Modifiers | Storage | Stats target | Description
--------+-------------------+-----------+----------+--------------+-------------
c1 | character varying | | extended | |
Has OIDs: no
postgres=# select pg_column_size(c1), octet_length(c1) as octet from t5;
pg_column_size | octet
----------------+-------
2 | 1
704 | 700
101 | 7000
903 | 77000
(4 rows)
Is this the bug or something? Is there someone with the some formula to calculate anticipated table size from column types and length values of it?
See Question&Answers more detail:os