2013-12-16 85 views
1

最近我一直有點懶惰,並且已經生成了大部分我不需要的大部分PostGis數據庫記錄。我開始考慮清理一下,但是想確定這些記錄佔用了多少字節。以字節/兆字節爲單位確定表或選定記錄的大小

我正在使用rails,所以如果我可以在已經選擇的一組記錄上調用方法或sql-snippet來確定以字節爲單位的所述記錄的大小,這將非常有幫助。

回答

5

對於表:

SELECT pg_size_pretty(pg_total_relation_size('name_of_tbl')); 

對於一個特定的列或行

SELECT pg_column_size(t) 
FROM tbl t 
WHERE tbl_id = ? 

有這相關回答了很多關於dba.SE:
Measure the size of a PostgreSQL table row

+0

不,這很重要,但是你也可以在上面的函數中添加pg_size_pretty()來獲得「漂亮」的大小而不是字節。 –

+0

@JoeLove:...正如我在鏈接到的答案中所記錄的那樣... –

+0

我把它標記爲正確的一段時間,但現在正在嘗試它,並且得到以下內容:'ActiveRecord :: StatementInvalid:PG :: UndefinedColumn:ERROR:運行此命令後,列「horry_parcels」不存在:「SELECT pg_total_relation_size(horry_parcels)'。 pg_total_relation_size是否帶有表名或不?這聽起來像是期待列名。 '可能是鐵軌做一些時髦的事情。這是完整的命令:'ActiveRecord :: Base.connection.execute'SELECT pg_total_relation_size(horry_parcels)「' –

相關問題