如何在postgresql中获取特定表的每行大小。。?
是否可以在postgres中获取特定表的每行大小如何在postgresql中获取特定表的每行大小。。?,postgresql,Postgresql,是否可以在postgres中获取特定表的每行大小 例如,一个表有50行,表的总大小是10gb,但我想知道每行的大小,而不是整个表的大小 没有计算行大小的函数,只有计算列值大小的函数。所以你可以这样做: select pg_column_size(column_1) + pg_column_size(column_2) + pg_column_size(column_3) as row_size from the_table; 如果需要的话,可以使用动态SQL和P
例如,一个表有50行,表的总大小是10gb,但我想知道每行的大小,而不是整个表的大小 没有计算行大小的函数,只有计算列值大小的函数。所以你可以这样做:
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函数实现自动化 用于计算postgress表行的行大小的函数如下所示
SELECT sum(pg_column_size(t.*)) as filesize, count(*) as filerow FROM TABLE_NAME as t;
用您的表名替换表名
;
要添加条件
t.COLUMN\u NAME='YOUR\u VALUE'
谢谢,但是我如何才能对表中的所有行运行此查询。您能帮助我提供动态查询吗?@DeepeshGoel:这将对表中的所有行运行,因为它没有where
clause@a_horse_with_no_name你能分享一下输出的单位吗?是字节吗?@aquaman“显示用于存储任何单个数据值的字节数”Nice one。请注意,pg\u column\u size(t.*)
可以简化为pg\u column\u size(t)
。该值将包括行标题“开销”,因此要获得实际数据大小,需要减去24:pg\u column\u size(t)-24