pg_database_size(データベース名)

PostgreSQLで各データベースのサイズを確認するには、pg_database_size関数を使用する。 pg_database_size関数は、引数にデータベース名を指定し、そのサイズをバイト単位で返す。

SELECT pg_database_size('データベース名');

たとえばpostgresデータベースのサイズを確認する場合は以下のように実行する。

> SELECT pg_database_size('postgres');
 pg_database_size
------------------
          9003811
(1 row)

pg_database テーブルを使って全データベースのサイズを確認する

pg_databaseシステムカタログテーブルを使用して、すべてのデータベースのサイズを一覧表示できる。

SELECT datname, pg_database_size(datname) AS size
FROM pg_database;
    datname     |  size
----------------+---------
 postgres       | 9003811
 testdb         | 8856067
 template1      | 8708611
 template0      | 8708611
 todos          | 8806915
(5 rows)

pg_size_pretty 関数でサイズを人間に読みやすい形式で表示する

pg_size_pretty関数を使用すると、バイト単位のサイズをKB、MB、GBなどの人間に読みやすい形式で表示できる。

SELECT datname, pg_size_pretty(pg_database_size(datname)) AS size
FROM pg_database;
    datname     |   size
----------------+---------
 postgres       | 8793 kB
 testdb         | 8649 kB
 template1      | 8505 kB
 template0      | 8505 kB
 todos          | 8601 kB
(5 rows)