postgresql テーブルをサイズ順にリストして並べ替える 質問する

postgresql テーブルをサイズ順にリストして並べ替える 質問する

PostgreSQL データベースのすべてのテーブルを一覧表示し、サイズ順に並べ替えるにはどうすればよいでしょうか?

ベストアンサー1

select
  table_name,
  pg_size_pretty(pg_total_relation_size(quote_ident(table_name))),
  pg_total_relation_size(quote_ident(table_name))
from information_schema.tables
where table_schema = 'public'
order by 3 desc;

これは、スキーマ内のすべてのテーブルのサイズを表示します。public複数のスキーマがある場合は、次を使用するとよいでしょう。

select table_schema, table_name, pg_relation_size('"'||table_schema||'"."'||table_name||'"')
from information_schema.tables
order by 3

SQLFiddle の例:http://sqlfiddle.com/#!15/13157/3

すべてのオブジェクトサイズ関数のリストマニュアル

おすすめ記事