在监视我的数据库上的 autovacuum 活动时,我注意到标记为 的 autovacuum(to prevent wraparound)似乎比“常规” autovacuum 花费的时间更长。这让我开始尝试了解各种“种类”或 autovacuum 的性能/行为差异。
从文档中,我确定了 autovacuum 可能VACUUM是一张桌子的几个不同原因:
该表具有需要冻结的旧事务 ( relfrozenxid > min(autovacuum_freeze_max_age, table.autovacuum_freeze_max_age)。这就是“ (to prevent wraparound)”自动真空。
自上次以来表中过时的元组数VACUUM超过“真空阈值”
还有其他我想念的吗?
手册VACUUM中似乎暴露的“攻击性”旋钮是FREEZE和DISABLE_PAGE_SKIPPING。这些不同类型的 autovacuum 是否曾经使用过这些选项,如果是,什么时候使用?