记录 autovacuum 和 vacuum 活动 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

记录 autovacuum 和 vacuum 活动

根据 rds.force_autovacuum_logging_level 参数中指定的级别,有关 autovacuum 活动的信息将发送到 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_levellog_autovacuum_min_duration 参数结合使用。log_autovacuum_min_duration 参数的值为阈值(以毫秒为单位),超出该值后将记录 autovacuum 操作。设置为 -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_level 设置为 WARNING。我们还建议您将 log_autovacuum_min_duration 设置为 1000 到 5000 之间的值。设置为 5000 的记录活动耗时将超过 5000 毫秒。如果由于冲突锁定或并行删除关系跳过了 autovacuum 操作,则并非 -1 的任何其他设置也会记录消息。有关更多信息,请参阅 PostgreSQL 文档中的 Automatic Vacuuming

要对问题进行故障排除,可以将 rds.force_autovacuum_logging_level 参数更改为调试级别之一,从 debug1 到最高 debug5 以获取最详细的信息。我们建议您在短时间内使用调试设置,并且仅用于故障排除目的。要了解更多信息,请参阅 PostgreSQL 文档中的何时记录

注意

PostgreSQL 允许 rds_superuser 账户查看 pg_stat_activity 中的 Autovacuum 会话。例如,您可识别并结束阻止命令运行或运行速度慢于手动发出的 vacuum 命令的 Autovacuum 会话。