postgres テーブル一覧2

postgres9.1で確認しましたが、統計情報VIEWというのが色々と内部情報を持っていて面白い

SELECT * FROM pg_stat_user_tables ORDER BY relname;

現在のデータベース内の各テーブル(TOASTテーブルを含みます)に関する、テーブルのOID、スキーマおよびテーブル名、
開始されたシーケンシャルスキャン数、シーケンシャルスキャンで取り出された実際の行数、(そのテーブルに属するす
べてのインデックスに対して)開始されたインデックススキャン数、インデックススキャンで取り出された実際の行数、
挿入、更新、削除された行数、HOT(つまり分離したインデックス更新がない)だった更新行の数、有効行数、無効行数、
手動でそのテーブルがFULL無しでバキュームされた最後の時刻、自動バキュームデーモンによりバキュームされた最後の
時刻、手動でアナライズされた前回の時刻、自動バキュームデーモンによりアナライズされた前回の時刻、手動でそのテ
ーブルがFULL無しでバキュームされた回数、自動バキュームデーモンによりバキュームされた回数、手動でアナライズさ
れた回数、自動バキュームデーモンによりアナライズされた回数です。

SELECT * FROM pg_statio_user_indexes ORDER BY relname, indexrelname;

現在のデータベース内の各インデックスに関する、テーブルとインデックスのOID、スキーマ、テーブルおよびインデック
スの名前、そのインデックスから読み取られたディスクブロック数とバッファヒット数。

↑は使いそうな2つだけピックアップしましたが、運用で必要な統計情報を取るのであれば、もっと読み解く必要がありそうです。

※前回のpg_tablesの時に、VIEWも一緒にとありましたが、残念ながら一緒には出力できませんでした。
select schemaname,viewname from pg_catalog.pg_views where schemaname='public';