自動バキュームおよびバキュームアクティビティのログ記録 - Amazon Relational Database Service

自動バキュームおよびバキュームアクティビティのログ記録

自動バキュームアクティビティに関する情報は、rds.force_autovacuum_logging_levelパラメータで指定したレベルに基づいて postgresql.log に送信されます。このパラメータで指定できる値、およびその値がデフォルトで設定されている PostgreSQL バージョンは次のとおりです。

  • disabled (PostgreSQL 10、PostgreSQL 9.6)

  • debug5, debug4, debug3, debug2, debug1

  • info (PostgreSQL 12、PostgreSQL 11)

  • notice

  • warning (PostgreSQL 13 以降)

  • error、ログ、fatalpanic

rds.force_autovacuum_logging_level では log_autovacuum_min_duration パラメータが使用されます。log_autovacuum_min_duration パラメータの値はしきい値 (ミリ秒単位) です。このしきい値を超過すると、自動バキュームアクションがログに記録されます。-1 に設定するとログに何も記録されませんが、0 に設定するとすべてのアクションが記録されます。rds.force_autovacuum_logging_level と同様に、log_autovacuum_min_duration のデフォルト値はバージョンによって次のように異なります。

  • 10000 ms – PostgreSQL 14、PostgreSQL 13、PostgreSQL 12、および PostgreSQL 11

  • (empty) – PostgreSQL 10 と PostgreSQL 9.6 の場合、デフォルト値はありません

rds.force_autovacuum_logging_levelWARNING に設定することをお勧めします。log_autovacuum_min_duration についても 1,000~5,000 の値に設定することをお勧めします。5,000 に設定すると、5,000 ミリ秒を超える長さのアクティビティがログに記録されます。-1 以外の設定では、ロックの競合または同時に削除されたリレーションが原因で自動バキュームアクションがスキップされた場合にも、メッセージがログに記録されます。詳細については、「PostgreSQL のドキュメント」の「Automatic Vacuuming」(自動バキューム処理) を参照してください。

問題のトラブルシューティングを行うために、rds.force_autovacuum_logging_level パラメータを debug1 から debug5 までのデバッグレベルの 1 つに変更し、最も詳しい情報を取得します。デバッグ設定は、短期間かつトラブルシューティングの目的でのみ使用することをお勧めします。詳細については、「PostgreSQL のドキュメント」の「When to log」(ログ記録のタイミング) を参照してください。

注記

PostgreSQL では、rds_superuser アカウントが pg_stat_activity 内の autovacuum セッションを表示できます。例えば、コマンドの実行をブロックしている autovacuum セッション、あるいは手動で発行される vacuum コマンドよりも実行スピードが遅い autovacuum セッションを特定して終了することもできます。