以下に示す設定は自動バキューム機能の動作を制御します。詳細は項23.1.5を参照してください。
サーバが自動バキュームランチャデーモンを実行すべきかどうかを管理します。 デフォルトでは有効です。 しかし自動バキュームを作動させるためにはtrack_countsも有効でなければなりません。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。
このパラメータが無効であってとしてもシステムは、トランザクションIDの周回を防止する必要があれば、自動バキュームプロセスを起動することに注意してください。 詳細は項23.1.4を参照してください。
少なくとも指定ミリ秒実行した場合、自動バキュームで実行される各活動がログに残るようになります。 これをゼロに設定すると、すべての自動バキュームの活動がログに残ります。 マイナス1(デフォルト)は自動バキューム活動のログを無効にします。 例えば、これを250msに設定すると、250ms以上かかって実行された自動的なバキュームや解析はすべてログに残ります。 このパラメータを有効にすることは、自動バキューム活動の追跡に役に立ちます。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。
同時に実行することができる自動バキュームプロセス(自動バキュームランチャ以外)の最大数を指定します。 デフォルトは3です。 postgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。
あるデータベースについて実行される自動バキュームデーモンの最小遅延を指定します。 それぞれの周期で、デーモンはそのデータベースを試験し、そしてそのデータベース内のテーブルで必要性が認められると、VACUUMおよびANALYZEコマンドを発行します。 遅延は秒単位で計測され、デフォルトは1分(1m)です。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。
いかなる1つのテーブル内にVACUUMをトリガする必要のある、更新もしくは削除されたタプルの最小数を指定します。 デフォルトは50タプルです。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。 この設定はpg_autovacuum内の項目により、それぞれのテーブルに対して上書きすることができます。
いかなる1つのテーブル内にANALYZEをトリガする必要のある、挿入、更新、もしくは削除されたタプルの最小数を指定します。 デフォルトは50タプルです。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。 この設定はにより、それぞれのテーブルに対して上書きすることができます。
VACUUMをトリガするか否かを決定する場合、autovacuum_vacuum_thresholdに追加するテーブル容量の断片を指定します。 デフォルトは0.2(テーブルサイズの20%)です。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きされます。
ANALYZEをトリガするか否かを決定する場合、autovacuum_vacuum_thresholdに追加するテーブル容量の小部分を指定します。 デフォルトは0.1(テーブルサイズの10%)です。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインでのみで設定されます。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きされます。
トランザクションID周回を防ぐためにVACUUM操作が強制される前までにテーブルのpg_class.relfrozenxid フィールドが到達できる最大(トランザクションの)年代を指定します。 自動バキュームが無効であった時でも、システムは周回を防ぐために自動バキューム子プロセスを起動することに注意してください。デフォルトは2億トランザクションです。このパラメータはサーバ起動時にのみ設定可能です。 しかし、この設定は格納パラメータの変更により、それぞれのテーブルで減らすことができます。詳細は項23.1.4を参照してください。
自動VACUUM操作に使用されるコスト遅延値を指定します。 -1が指定されると、一定の vacuum_cost_delayの値が使用されます。 デフォルト値は20ミリ秒です。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインのみで設定可能です。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。
自動VACUUM操作に使用されるコスト限界値を指定します。 (デフォルトの)-1が指定されると、一定の vacuum_cost_limitの値が使用されます。 この値は、実行中の自動バキュームワーカが複数存在する場合ワーカすべてに比例分配されることに注意してください。 したがって各ワーカの制限を足し合わせてもこの変数による制限を超えることはありません。 このパラメータはpostgresql.confファイル内、または、サーバのコマンドラインのみで設定可能です。 この設定は格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。