为什么autovacuum没有吸尘我的桌子?

时间:2018-06-15 08:50:47

标签: postgresql postgresql-9.5 autovacuum

我的架构中有一个表没有自动恢复。如果我在表上运行VACUUM posts;,那么真空过程就会很好地完成,但autovacuum守护进程由于某种原因从不对表进行真空吸尘。 有没有办法找出原因?可能的原因是什么?

table stats

1 个答案:

答案 0 :(得分:6)

这很好,没什么可担心的。

该表是唯一的中型(300万行)。

如果死元组的数量超过实时元组的autovacuum_vacuum_scale_factor(默认值:0.2),则Autovacuum将启动,因此如果超过20%的表已被删除或更新。

这通常很好,我不会改变它。但如果你想出于某种原因这样做,你可以这样做:

ALTER TABLE posts SET (autovacuum_vacuum_scale_factor = 0.1);