[PostgreSQL]テーブルのサイズ(容量)とレコード数を確認する

[PostgreSQL]テーブルのサイズ(容量)とレコード数を確認する

postgreql_logo

pg_class からテーブルの物理容量を取得する

PostgreSQL にてテーブルの物理サイズを知るためには、pg_class テーブルを確認します。仕様書を確認しながらコマンドを用意したので備忘録として残します。

Advertisement

テーブルのサイズ(容量)とレコード数を確認するコマンド

SELECT
relname as table_name,
reltuples as row_num,
(relpages * 8192) as byte_size
FROM
pg_class
WHERE
relname = ‘(テーブル名)’;

取得している要素の内容は下記をご覧ください。注意として、relpages はページ単位が 8kb のため、select する時、ページ数に対して 8192 を掛け算しています。

relname テーブル、インデックス、ビューなどの名前
reltuples テーブル内の生きている行数。 これはプランナで使用される単なる推測値です。 VACUUM、ANALYZE、CREATE INDEXなどの一部のDDLコマンドで更新されます。
relpages このテーブルのディスク上におけるページ単位(BLCKSZ)の表現サイズ。 これはプランナで使用される単なる推測値です。 VACUUM、ANALYZEおよびCREATE INDEXコマンドなどの一部のDDLコマンドで更新されます。

 

コマンドの実行履歴

最後に参考にした「日本PostgreSQLユーザ会」のサイト内にある参考 URL を載せておきます。

〇PostgreSQL 11.5文書 > 52.11. pg_class
https://www.postgresql.jp/document/11/html/catalog-pg-class.html

〇PostgreSQL 11.5文書 > 29.1. ディスク使用量の決定
https://www.postgresql.jp/document/11/html/disk-usage.html

 

この記事が気に入ったら
いいね ! をお願いします

Twitter で

インフラカテゴリの最新記事