是否可以在postgres中获取特定表的每一行大小?
例如,一个表有50行,总表大小是10gb,但我想知道每行的大小而不是完整的表大小。
答案 0 :(得分:3)
计算postgress表行的行大小的函数是这样的
SELECT sum(pg_column_size(t.*)) as filesize, count(*) as filerow FROM TABLE_NAME as t;
用您的表名替换TABLE_NAME
;
添加条件t.COLUMN_NAME = 'YOUR_VALUE'
答案 1 :(得分:1)
没有函数可以计算行的大小,只有计算列值大小的函数。所以你可以这样做:
select pg_column_size(column_1) +
pg_column_size(column_2) +
pg_column_size(column_3) as row_size
from the_table;
如果需要,可以使用动态SQL和PL / pgSQL函数自动执行此操作。