自動Vacuum作業

PostgreSQL 9.1.1文書
前のページ | 巻戻し | 第 18章サーバの設定 | 早送り | 次のページ

# 18.10. 自動Vacuum作業

以下に示す設定は自動バキューム機能の動作を制御します。詳細は項23.1.5を参照してください。

`autovacuum` (`boolean`)

  サーバがautovacuumランチャデーモンを実行すべきかどうかを管理します。 デフォルトでは有効です。 しかしautovacuumを作動させるためにはtrack_countsも有効でなければなりません。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインでのみで設定されます。

  このパラメータが無効であってとしてもシステムは、トランザクションIDの周回を防止する必要があれば、autovacuumプロセスを起動することに注意してください。 詳細は項23.1.4を参照してください。

`log_autovacuum_min_duration` (`integer`)

  少なくとも指定ミリ秒実行した場合、autovacuu,で実行される各活動がログに残るようになります。 これをゼロに設定すると、すべてのautovacuumの活動がログに残ります。 マイナス1（デフォルト）はautovacuum活動のログを無効にします。 例えば、これを`250ms`に設定すると、250ms以上かかって実行されたautovacuumや解析はすべてログに残ります。 さらに、`-1`以外の値にこのパラメータが設定された場合、競合するロックの存在によりオートバキューム動作が省略されるとメッセージはログに記録されます。 このパラメータを有効にすることは、autovacuum活動の追跡に役に立ちます。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインでのみで設定されます。

`autovacuum_max_workers` (`integer`)

  同時に実行することができるautovacuumプロセス（autovacuumランチャ以外）の最大数を指定します。 デフォルトは3です。 サーバ起動時のみで設定可能です。

`autovacuum_naptime` (`integer`)

  あるデータベースについて実行されるautovacuumデーモンの最小遅延を指定します。 それぞれの周期で、デーモンはそのデータベースを試験し、そしてそのデータベース内のテーブルで必要性が認められると、`VACUUM`および`ANALYZE`コマンドを発行します。 遅延は秒単位で計測され、デフォルトは1分（`1min`）です。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインでのみで設定されます。

`autovacuum_vacuum_threshold` (`integer`)

  いかなる1つのテーブル内に`VACUUM`をトリガする必要のある、更新もしくは削除されたタプルの最小数を指定します。 デフォルトは50タプルです。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインでのみで設定されます。 この設定は`pg_autovacuum`内の項目により、それぞれのテーブルに対して上書きすることができます。

`autovacuum_analyze_threshold` (`integer`)

  いかなる1つのテーブル内に`ANALYZE`をトリガする必要のある、挿入、更新、もしくは削除されたタプルの最小数を指定します。 デフォルトは50タプルです。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインでのみで設定されます。 この設定はにより、それぞれのテーブルに対して上書きすることができます。

`autovacuum_vacuum_scale_factor` (`floating point`)

  `VACUUM`をトリガするか否かを決定する場合、`autovacuum_vacuum_threshold`に追加するテーブル容量の断片を指定します。 デフォルトは0.2（テーブルサイズの20%）です。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインでのみで設定されます。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きされます。

`autovacuum_analyze_scale_factor` (`floating point`)

  `ANALYZE`をトリガするか否かを決定する場合、`autovacuum_vacuum_threshold`に追加するテーブル容量の小部分を指定します。 デフォルトは0.1（テーブルサイズの10%）です。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインでのみで設定されます。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きされます

`autovacuum_freeze_max_age` (`integer`)

  トランザクションID周回を防ぐために`VACUUM`操作が強制される前までにテーブルの`pg_class`.`relfrozenxid` フィールドが到達できる最大（トランザクションにおける）年代を指定します。 自動バキュームが無効であった時でも、システムは周回を防ぐために自動バキューム子プロセスを起動することに注意してください。

  vacuumは同時に`pg_clog`サブディレクトリから古いファイルの削除を許可します。 これはなぜフォルトが2億トランザクションをやや下回る理由です。 このパラメータはサーバ起動時にのみ設定可能です。 しかし、この設定は格納パラメータの変更により、それぞれのテーブルで減らすことができます。 詳細は項23.1.4を参照してください。

`autovacuum_vacuum_cost_delay` (`integer`)

  自動`VACUUM`操作に使用されるコスト遅延値を指定します。 -1に指定されると、一定の vacuum_cost_delayの値が使用されます。 デフォルト値は20ミリ秒です。 このパラメータは`postgresql.conf`ファイル内、または、サーバのコマンドラインのみで設定可能です。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。

`autovacuum_vacuum_cost_limit` (`integer`)

  自動`VACUUM`操作に使用されるコスト限界値を指定します。 （デフォルトの）-1が指定されると、一定の vacuum_cost_limitの値が使用されます。 この値は、実行中の自動バキュームワーカが複数存在する場合ワーカすべてに比例分配されることに注意してください。 したがって各ワーカの制限を足し合わせてもこの変数による制限を超えることはありません。 このパラメータは`postgresql.conf`ファイル、または、サーバのコマンドラインのみで設定可能です。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。

前のページ | ホーム | 次のページ
実行時統計情報 | 上に戻る | クライアント接続デフォルト