我正在寻找通过引用列类型和长度大小来获得预期的表格大小。我正在尝试使用pg_column_size
它。
在测试该功能时,我意识到此功能似乎有问题。
from 的结果值pg_column_size(...)
有时甚至小于octet_length(...)
同一字符串的返回值。
列中只有数字字符。
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)
这是错误还是什么?是否有人有一些公式可以根据列类型和长度值计算预期的表大小?