PostgreSQLでデータベースごとの容量を確認する

仕事で、データベースのバックアップスクリプトの実行時間、負荷の関係からPostgreSQLでデータベースごとのファイル容量を調べる事があったので、念のため残しておく。
PostgreSQLでは、データベースごとの容量を調べる方法として幾つかの方法が用意されている。

1.「\l+」コマンドで確認する

一番カンタンな確認の仕方が、psqlで用意されている「\l+」コマンドの実行だろう。
通常、「\l」でデータベースの一覧が表示されるのだが、これに+を付け足すとデータベースサイズなどの情報も出力させることが出来る。

2.SQLで情報を取得する

以下のようなSQLを実行することで、データベースの容量を取得することも出来る。

select t1.datname AS データベース名,
       pg_size_pretty(pg_database_size(t1.datname)) as データベースサイズ
from pg_database t1
order by pg_database_size(t1.datname) desc;