2015-12-11 70 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' –

相關問題