テーブルレベルの autovacuum パラメータを設定する - Amazon Relational Database Service

テーブルレベルの autovacuum パラメータを設定する

自動バキューム関連のストレージパラメータをテーブルレベルで設定できます。これは、データベース全体の動作を変更するより適切である場合があります。大きなテーブルでは、極端な設定にする必要が生じる場合がありますが、autovacuum がすべてのテーブルに対してそのように動作するわけではありません。

次のクエリは、現在テーブルレベルのオプションが設定されているテーブルを表示します。

SELECT relname, reloptions FROM pg_class WHERE reloptions IS NOT null;

これが役立つ可能性がある例として、残りのテーブルよりかなり大きいテーブルがあります。1 個の 300 GB のテーブルと、他の 30 個の 1 GB 未満のテーブルがあるとします。この場合、システム全体の動作を変更しないで、大きなテーブルのいくつかの特定のパラメータを設定できます。

ALTER TABLE mytable set (autovacuum_vacuum_cost_delay=0);

これを行うと、このテーブルでコストベースの自動バキューム遅延がなくなりますが、システムでのリソース使用量が多くなります。通常、自動バキュームは autovacuum_cost_limit に達するたびに autovacuum_vacuum_cost_delay で一時停止します。詳細については、「PostgreSQL ドキュメント」の「cost-based vacuuming」(コストベースのバキューム処理) を参照してください。

  翻译: