2

次のコードを使用して、postgresqlのデータベース内の各テーブルのディスクサイズを決定しています。

 SELECT pg_size_pretty(pg_total_relation_size('"my_schema"."my_table"'));

正確なディスクサイズを取得するには、各テーブルの実際のファイル名を見つける必要があると思います。ファイルシステムレベルで実際のファイル名を決定する方法を知っている人はいますか?

4

1 に答える 1

2

このようなもの:

select t.relname, current_setting('data_directory')||'/'||pg_relation_filepath(t.oid)
from pg_class t
  join pg_namespace ns on ns.oid = t.relnamespace
where relkind = 'r'
and ns.nspname = 'public';

私は100%ではありません。複数のテーブルスペースが関係している場合、これは正しいパスを示します。

于 2013-02-01T12:54:15.117 に答える