vacuumdb

Name

vacuumdb --  Postgresデータベースの不要領域の掃除と解析

Synopsis

vacuumdb [connection-options...] [[-d] dbname] [--analyze | -z] [--verbose | -v] [--table 'table [( column [,...] )]' ]

vacuumdb [connection-options...] [--all | -a] [--analyze | -z] [--verbose | -v]

入力

vacuumdbでは、下記のコマンドライン引数を指定できます。

-d dbname, --dbname dbname

不要領域の掃除または解析の対象となるデータベース名を指定します。

-z, --analyze

オプティマイザで使用される、データベースの統計情報を計算します。

-a, --alldb

すべてのデータベースをVacuumします。

-v, --verbose

処理実行中に詳細な情報を表示します。

-t table [ (column [,...]) ], --table table [ (column [,...]) ]

tableのみの掃除または解析を行ないます。 列名は--analyzeオプションががある場合にのみ設定できます。

Tip: 列をvacuumするように指定した場合は、シェルから括弧をエスケープさせる必要が あるかもしれません。

vacuumdbは、下記に記す接続用の コマンドライン引数を指定することもできます。

-h host, --host host

postmasterが動作しているマシンのホスト名を指定します。 ホストがスラッシュから始まる場合は、UNIXドメインソケットのディレクトリとして 使用されます。

-p port, --port port

postmasterが接続のときに使用する インターネットTCP/IPポート、またはローカルUNIXドメインソケットファイルの拡張 を指定します。

-U username, --username username

接続するためのユーザ名を指定します。

-W, --password

強制的にパスワードのプロンプトを表示します。

-e, --echo

vacuumdbが実行するコマンドを表示させ、 バックエンドに送ります。

-q, --quiet

返答を表示させないようにします。

出力

VACUUM

すべて正常に終了しました。

vacuumdb: Vacuum failed.

異常が発生しました。vacuumdbは単にラッパースクリプトです。 エラーメッセージと可能性のある問題に関する詳細は VACUUMpsqlをご覧下さい。

説明

vacuumdbは、Postgres データベースの不要領域の掃除を行うユーティリティです。また、 vacuumdbPostgres 問い合わせオプティマイザで使用される内部的な統計情報も生成します。

vacuumdbは、Postgresの 対話的端末psql経由で実行される バックエンドコマンドVACUUMの シェルスクリプトラッパーです。この方法以外の方法でデータベースの掃除を 行っても特別な違いはありません。スクリプトからpsqlを 参照することができ、かつデータベースサーバが指定したホストで稼働している必要があります。 また、psqllibpqのフロントエンド ライブラリの、あらゆるデフォルトの設定や環境変数が適応されます。

使用方法

testというデータベースを掃除するには、下記のコマンドを実行します。

$ vacuumdb test

オプテイマイザのために、bigdbという データベースの解析を行う場合には下記のコマンドを実行します。

$ vacuumdb --analyze bigdb

オブティマイザのために、xyzzyという名前のデータベースの fooテーブルのある、barという 1つの列に対して解析を行う場合には下記のコマンドを実行します。

$ vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy