首页 > 解决方案 > postgres autovacuum 计数过高

问题描述

有一个巨大的表(~400m recs),这个表的变化数量在 10k-200k 之间。autovacuum 阈值和比例因子太高,无法启动 autovacuum。使用以下降低阈值

ALTER TABLE schema.table SET (autovacuum_vacuum_scale_factor = 0,autovacuum_vacuum_threshold = 10000,autovacuum_analyze_scale_factor = 0,autovacuum_analyze_threshold = 10000);

所以在 7/29 6.45 之前,桌子上没有发生自动清理(下面是每 15 分钟拍摄的 pg_stat_all_tables 的快照。看起来那天早上有大约 147k 更新,根据阈值应该触发了大约 14 次自动清理。什么我不明白为什么那天早上会发生 921 autovacuum。这个 autovacuum 计数器是否也会在其他一些条件下增加?由于使用此表的许多 autovacuum 进程受到影响(就性能而言)。每 15 分钟的 pg_stat_all_tables 快照

标签: postgresql

解决方案


推荐阅读