web-dev-qa-db-ja.com

Amazon rds PostgreSQLには掃除機が必要ですか?

自動バキュームがrdsで実行されているかどうかは明確ではありません。ありがとう!

12
Chris kinsman

このクエリを実行して、テーブルが最後にバキュームされたかどうか/いつ表示したかを確認します。

SELECT * FROM pg_stat_all_tables;

挿入/更新/削除のしきい値(20%)に達するまで、テーブルはバキュームされません。

新しいDBパラメータグループを作成し、必要な設定を変更することで、RDSの設定を微調整できます。

14

RDSドキュメント は次のように述べています。

すべての新しいAmazon RDS PostgreSQL DBインスタンスでは、デフォルトで自動バキュームが有効になっており、関連する自動バキューム構成パラメーターがデフォルトで適切に設定されています。デフォルトはやや一般的なものであるため、特定のワークロードに合わせてパラメーターを調整するとメリットがあります。

次のコマンドでautovacuumのアクティブ化を確認できます:SHOW autovacuum;は、単純なonまたはoff回答を取得します。

次のコマンドでより詳細な情報を取得できます:SELECT name, setting FROM pg_settings WHERE name LIKE '%autovacuum%';

返されるデータの例:

                name                 |  setting  
-------------------------------------+-----------
 autovacuum                          | on
 autovacuum_analyze_scale_factor     | 0.05
 autovacuum_analyze_threshold        | 50
 autovacuum_freeze_max_age           | 200000000
 autovacuum_max_workers              | 3
 autovacuum_multixact_freeze_max_age | 400000000
 autovacuum_naptime                  | 5
 autovacuum_vacuum_cost_delay        | 5
 autovacuum_vacuum_cost_limit        | -1
 autovacuum_vacuum_scale_factor      | 0.1
 autovacuum_vacuum_threshold         | 50
 autovacuum_work_mem                 | -1
 log_autovacuum_min_duration         | -1
 rds.force_autovacuum_logging_level  | disabled

これらの設定(およびvacuum設定)は、Postgres here について文書化されています。

3
HorsePunchKid