1
最近我一直有點懶惰,並且已經生成了大部分我不需要的大部分PostGis數據庫記錄。我開始考慮清理一下,但是想確定這些記錄佔用了多少字節。以字節/兆字節爲單位確定表或選定記錄的大小
我正在使用rails,所以如果我可以在已經選擇的一組記錄上調用方法或sql-snippet來確定以字節爲單位的所述記錄的大小,這將非常有幫助。
最近我一直有點懶惰,並且已經生成了大部分我不需要的大部分PostGis數據庫記錄。我開始考慮清理一下,但是想確定這些記錄佔用了多少字節。以字節/兆字節爲單位確定表或選定記錄的大小
我正在使用rails,所以如果我可以在已經選擇的一組記錄上調用方法或sql-snippet來確定以字節爲單位的所述記錄的大小,這將非常有幫助。
對於表:
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
不,這很重要,但是你也可以在上面的函數中添加pg_size_pretty()來獲得「漂亮」的大小而不是字節。 –
@JoeLove:...正如我在鏈接到的答案中所記錄的那樣... –
我把它標記爲正確的一段時間,但現在正在嘗試它,並且得到以下內容:'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)「' –