私はpostgresqlサーバで50以上のデータベースをホストしています。ディスクスペースを解放するために、別のホストに移動する必要がありますが、ボリューム上の各データベースで使用されるディスクスペースをどのように測定できますか?Postgresqlは、データベースで使用されているディスクの合計容量を見つけます。
必要な情報を取得する機能はありますか?
私はpostgresqlサーバで50以上のデータベースをホストしています。ディスクスペースを解放するために、別のホストに移動する必要がありますが、ボリューム上の各データベースで使用されるディスクスペースをどのように測定できますか?Postgresqlは、データベースで使用されているディスクの合計容量を見つけます。
必要な情報を取得する機能はありますか?
SELECT pg_database_size('geekdb')
または
SELECT pg_size_pretty(pg_database_size('geekdb'))
http://www.thegeekstuff.com/2009/05/15-advanced-postgresql-commands-with-examples/
あなたは、PostgreSQLのメタコマンドを使用することができます。
\l
データベースをリストし\l+
は、サイズ、TABLでリストを拡張しますespace、説明。\?
を使用すると、メタコマンドの完全なリストを取得できます。参照してください: https://www.postgresql.org/docs/9.5/static/app-psql.html
は、これは古い質問ですが、私はあなたのように、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:便利なリンク https://wiki.postgresql.org/wiki/Free_disk_space
を! – pylover