2015-12-11 42 views

回答

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函数自动使用,如果你需要的话。

+0

谢谢,但我怎么能运行此查询的表中的所有行可以帮助我在提供dyanamic查询。 –

+0

@DepepeshGoel:这将运行在表中的所有_rows_,因为它没有'where'子句 –

+0

感谢一个男人! –

1

函数来计算postgress表行的行大小是这样的

SELECT sum(pg_column_size(t.*)) as filesize, count(*) as filerow FROM TABLE_NAME as t 

与你的表名称替换TABLE_NAME; 添加条件t.COLUMN_NAME = 'YOUR_VALUE'

+0

不错的一个。请注意,'pg_column_size(t。*)'可以简化为'pg_column_size(t)'。该值将包括行标题“overhead”,因此为了获得实际的数据大小,需要减去24:'pg_column_size(t) - 24' –

相关问题