すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:テーブルおよびデータベースのデータ量の確認方法

最終更新日:Mar 28, 2026

AnalyticDB for PostgreSQL では、PostgreSQL のシステム関数を用いて、テーブル、スキーマ、データベース単位のストレージサイズを照会できます。測定対象に応じて、以下のクエリをご利用ください。

関数リファレンス

各関数は、異なる範囲のサイズを測定します。

関数測定対象
pg_relation_size()インデックスを除くテーブルのデータサイズ
pg_total_relation_size()データおよびインデックスを含むテーブルの合計サイズ
pg_database_size()データベース全体の合計サイズ

テーブルの合計サイズの照会

データおよびインデックスを含むテーブルのサイズを返します。

<schemaname> および <tablename> を、ご利用の実際のスキーマ名およびテーブル名に置き換えてください。

select pg_size_pretty(pg_total_relation_size('<schemaname>.<tablename>'));

実行例の出力:

 pg_size_pretty
----------------
 42 MB
(1 行)

テーブルのデータサイズの照会

インデックスを除くテーブルのデータサイズを返します。

select pg_size_pretty(pg_relation_size('<schemaname>.<tablename>'));

実行例の出力:

 pg_size_pretty
----------------
 38 MB
(1 行)

パーティションテーブルの全パーティションの合計サイズの照会

パーティションテーブルに含まれるすべてのパーティションの合計サイズ(インデックスを含む)を返します。

select schemaname,tablename,round(sum(pg_total_relation_size(schemaname || '.' || partitiontablename))/1024/1024) "MB" from pg_partitions where schemaname='<schemaname>' and tablename='<tablename>' group by 1,2;

実行例の出力:

 schemaname | tablename | MB
------------+-----------+-----
 public     | orders    | 210
(1 行)

スキーマ内の全テーブルの合計サイズの照会

指定したスキーマ内にあるすべてのテーブルの合計サイズ(インデックスを含む)を返します。

select schemaname ,round(sum(pg_total_relation_size(schemaname||'.'||tablename))/1024/1024) "Size_MB" from pg_tables where schemaname='<schemaname>' group by 1;

実行例の出力:

 schemaname | Size_MB
------------+---------
 public     |    1024
(1 行)

各データベースのサイズの照会

インスタンス内のすべてのデータベースのサイズを返します。

select datname,pg_size_pretty(pg_database_size(datname)) from pg_database;

実行例の出力:

  datname  | pg_size_pretty
-----------+----------------
 mydb      | 8537 MB
 postgres  | 7665 kB
(2 行)