PostgreSQL 8.0.0 文書
前のページ | 巻戻し |  | 早送り | 次のページ

# vacuumdb

## 名前

vacuumdb -- PostgreSQL データベースの不要領域の回収と解析

## 概要

`vacuumdb` [`connection-option`...] [--full | -f] [--verbose | -v] [--analyze | -z] [--table | -t `table` [( `column` [,...] )] ] [`dbname`]
`vacuumdb` [`connection-options`...] [--all | -a] [--full | -f] [--verbose | -v] [--analyze | -z]

## 説明

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

vacuumdb は、VACUUM SQLコマンドのラッパです。 これ以外の方法でサーバにアクセスしてデータベースの掃除を行っても特別な違いはありません。

## オプション

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

`-a`
`--all`

  全てのデータベースの掃除を行ないます。

`[-d] `dbname``
`[--dbname] `dbname``

  不要領域の掃除または解析の対象となるデータベース名を指定します。 データベース名が指定されておらず、`-a` (または `--all`) も使用されていない場合、データベース名は`PGDATABASE`環境変数から読み取られます。 この変数も設定されていない場合は、接続のために指定されたユーザ名が使用されます。

`-e`
`--echo`

  vacuumdbが生成し、サーバに送るコマンドをエコー表示します。

`-f`
`--full`

  "完全な(full)"掃除を行ないます。

`-q`
`--quiet`

  応答を表示させません。

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

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

  > ティップ: 掃除する列を指定する場合は、シェルから括弧をエスケープさせる必要があるでしょう。 (後述の例を参照してください。)

`-v`
`--verbose`

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

`-z`
`--analyze`

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

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

`-h `host``
`--host `host``

  サーバが稼働しているマシンのホスト名を指定します。 ホスト名がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。

`-p `port``
`--port `port``

  サーバが接続を監視するTCPポートもしくはUnixドメインソケットファイルの拡張子を指定します。

`-U `username``
`--username `username``

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

`-W`
`--password`

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

## 環境

`PGDATABASE`
`PGHOST`
`PGPORT`
`PGUSER`

  デフォルトの接続パラメータです。

## 診断

問題が発生した場合、潜在する問題とエラーメッセージについての説明はVACUUM と psqlを参照してください。 データベースサーバが指定したホストで稼働している必要があります。 また、libpq のフロントエンドライブラリの、あらゆるデフォルトの設定や環境変数が適応されます。

## 注釈

vacuumdbは、PostgreSQLサーバに何度も接続しなければならない場合があり、その度にパスワードが必要になります。 そのような場合には`~/.pgpass`ファイルを用意しておくと便利です。 詳細は項27.12を参照してください。

## 例

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

    $ vacuumdb test

`bigdb`という名前のデータベースの掃除とオブティマイザ用の解析を行なう場合には、下記のコマンドを実行します。

    $ vacuumdb --analyze bigdb

`xyzzy`という名前のデータベースの`foo`という1つのテーブルだけの掃除と、そのテーブルの`bar`という1つの列にだけ対してオブティマイザ用の解析を行なう場合には、下記のコマンドを実行します。

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

## 関連項目

VACUUM

前のページ | ホーム | 次のページ
psql | 上に戻る | PostgreSQL サーバアプリケーション