PostgreSQL テーブルのサイズを一覧で取得する

PostgreSQL テーブルのサイズを一覧で取得する

PostgreSQLで、テーブルのサイズを一覧で取得する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • PostgreSQL 14.0
  • pgadmin 6.0

テーブルのサイズを一覧で取得

テーブルのサイズを一覧で取得する場合は、「pg_class」を使用します。

実際に、テーブルのサイズを一覧を確認してみます。

SELECT 
    relname, -- テーブル名    
    (relpages * 8192) as byte  -- サイズ(byte)
FROM pg_class order by byte desc;

実行結果

一覧で取得されていることが確認できます。

別の単位で取得

「KB」や「MB」で取得したい場合は、以下のように演算します。

SELECT 
    relname, -- テーブル名    
    (relpages * 8192) / 1024 as kbyte,  -- サイズ(kbyte)
	  (relpages * 8192) / (1024 * 1024) as mbyte  -- サイズ(mbyte)
FROM pg_class order by kbyte desc

実行結果