2013-01-15 14 views
20

私はpostgresqlサーバで50以上のデータベースをホストしています。ディスクスペースを解放するために、別のホストに移動する必要がありますが、ボリューム上の各データベースで使用されるディスクスペースをどのように測定できますか?Postgresqlは、データベースで使用されているディスクの合計容量を見つけます。

必要な情報を取得する機能はありますか?

答えて

13

あなたは、PostgreSQLのメタコマンドを使用することができます。

  • \lデータベースをリストし
  • \l+は、サイズ、TABLでリストを拡張しますespace、説明。

\?を使用すると、メタコマンドの完全なリストを取得できます。参照してください: https://www.postgresql.org/docs/9.5/static/app-psql.html

1

は、これは古い質問ですが、私はあなたのように、SQLクエリを経由して(ファイルシステム、サイズは、使用され、無駄、%を使用し、上のマウントされた)Linuxのコマンドdf -hの結果を確認する方法を作成空きディスク容量、および特定のファイルシステムの使用可能ディスク容量の合計です。正確には何についての質問ではなく、いくつかの使用/私に役立ちます。私は答えは時間前にここにいたことを望むので、私は(Linuxのみ)ここでそれを入れています:

@hourly df -h | awk '{print $1","$2","$3","$4","$5","$6}' > /pathhere/diskspaceinfo.csv` 

を照会する外国人のテーブルを作成します:

create extension file_fdw; 

create server logserver FOREIGN DATA WRAPPER file_fdw; 

CREATE FOREIGN TABLE diskspaceinfo 
(file_sys text, size text, used text, avail text, used_pct text, mount text) 
SERVER fileserver 
OPTIONS (filename '/pathhere/diskspaceinfo.csv', format 'csv'); 

このようなcronジョブを作成します

そして、このようなあなたのテーブルをクエリ:あなただけちょうどFILTもちろんの具体的な何かを、必要な場合

select * from diskspaceinfo 

あなたが望むもののためのテーブル。それには限界がありますが、私にとっては非常に便利です。

あなたはplperluを持っている場合は、この機能を使用することができます:montaineerから登山用 https://wiki.postgresql.org/wiki/Disk_Usage

+1

もう1:便利なリンク https://wiki.postgresql.org/wiki/Free_disk_space

を! – pylover

関連する問題