PostgreSQL > テーブルサイズを調べる方法
更新日
2012-02-06
広告
テーブルのサイズ(ディスクの消費量)を調べる方法を紹介します(PostgreSQL 8.4)。
まず、PostgreSQLのブロックサイズ(ページサイズ)を確認します。
testdb=# SHOW block_size; block_size ------------ 8192このように、デフォルトは8192バイト(8KByte)です。
次に、テーブル名(relname)を指定して、テーブルが消費しているページ数を調べます。
testdb=# SELECT relname,relfilenode,relpages from pg_class where relname='testtable'; relname | relfilenode | relpages -------------+-------------+---------- testtable | 18226 | 3438293 (1 row)relpagesの値が、テーブルが消費しているページ数です。ページ数とブロックサイズをかけた値が、テーブルのサイズになります。今回の場合だと、 (8KB * 3438293) = 27506344KB (約26GB)のディスクを消費している計算になります。
インデックスのサイズも同様に確認できます。
testdb=# SELECT relname,relfilenode,relpages from pg_class where relname='idx_test'; relname | relfilenode | relpages -----------+-------------+---------- idx_test | 19203 | 1192947 (1 row)この場合、 (8KB * 1192947) = 9543576KB (約9GB)のディスクを消費している計算になります。
広告
お問い合わせは sweng.tips@gmail.com まで。