如何在postgresql中获取特定表的每一行大小..?

时间:2015-12-11 11:56:34

标签: postgresql

是否可以在postgres中获取特定表的每一行大小?

例如,一个表有50行,总表大小是10gb,但我想知道每行的大小而不是完整的表大小。

2 个答案:

答案 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函数自动执行此操作。