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

postgreql_logo

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

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

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

 

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

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

 

 

Linuxの知識については下記の本も参考になるので、スキルアップにお役立てください。

三宅 英明 (著)、大角 祐介 (著)
ページ数: 440ページ
出版社:SBクリエイティブ
発売日:2015/06/06

出典:amazon