LoginSignup
77
69

More than 5 years have passed since last update.

PostgreSQLで各DBが使用している容量を確認

Last updated at Posted at 2016-01-20

PostgreSQLで各DBが使用しているディスク容量を調べる方法のメモ。

SQLで確認する方法

DBにログインして以下のSQLを実行すると、DB一覧と使用容量が確認できる。

SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;

結果:
11.jpg

実データで確認する方法

DBサーバの実データからも確認ができる。
まず、PostgreSQLでは各DBに「oid」という識別子がある。
実データのディレクトリ名称はoidのため、先にどのDBがどのoidかを調べる必要がある。
DBにログインして以下のSQLを実行すると、DB一覧とoidが確認できる。

select datid,datname from pg_stat_database;

結果:
12.jpg

datid が oid、datname が DB名である。

次にDBサーバでoidのディレクトリを探す必要がある。
多くの場合、PostgreSQLは以下のどちらかにインストールされる。

/usr/local/pgsql/
/var/lib/pgsql/

これらの配下に data というディレクトリがあり、そこにoidのディレクトリがあるため、
あとは各ディレクトリの使用容量をduコマンドで見れば良い。

# cd /usr/local/pgsql/data
# du -sh ./*

尚、クエリで確認した結果と実データで確認した結果を比較したところ、使用容量はほぼ一緒だった。

77
69
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
77
69