PostgreSQLのテーブルやデータベースのデータサイズを調べるには
以前の記事(PostgreSQLの各テーブルのレコード数とデータ容量の概数を調べるには)でテーブルごとのサイズを調べる方法を書きましたが、PostgreSQLのデータベースごとのサイズを調べる方法も併せて書いておきます。
データベースのサイズ
SELECT pg_database_size(datname) AS db_size, pg_size_pretty(pg_database_size(datname)) AS db_size_h, datname FROM pg_database ORDER BY db_size DESC;
3カラムで一覧表示します。
- バイト単位のサイズ
- GBなどの単位を付けた見やすいサイズ表示
- データベース名
テーブルのサイズ
SELECT relpages::BIGINT * 8192 AS table_size, pg_size_pretty(relpages::BIGINT * 8192) AS table_size_h, reltuples::BIGINT, relname FROM pg_class ORDER BY table_size DESC;
4カラムで一覧表示します。
- バイト単位のサイズ
- GBなどの単位を付けた見やすいサイズ表示
- レコード数
- テーブル名
8192
という数字はPostgreSQLビルド時に決まるパラメータで SHOW block_size;
というコマンドで確認できます。