我有 postgresql RDS 和 Aurora 实例。在版本 12 上,有一个接近 200M trx id 的热表。为了防止它在 trx 环绕时遇到 autovacuum,我将表 autovacuum_freeze_max_age 设置为 600M,因为我无法执行重新启动以在实例级别更改此值 autovacuum_freeze_max_age。
alter table sample_table SET (autovacuum_freeze_max_age=6000000000);
但是,当表达到 trx id 200M 时,会触发该表的 autovacuum trx 环绕。即使我检查了表结构,上面的 autovacuum_freeze_max_age 值也更新为 600M。
现在的问题是
- 为什么即使有这些变化也会发生这种情况?
- 需要检查任何其他参数吗?
任何建议表示赞赏。提前致谢。