我的架构中有一个表没有自动恢复。如果我在表上运行VACUUM posts;
,那么真空过程就会很好地完成,但autovacuum守护进程由于某种原因从不对表进行真空吸尘。
有没有办法找出原因?可能的原因是什么?
答案 0 :(得分:6)
这很好,没什么可担心的。
该表是唯一的中型(300万行)。
如果死元组的数量超过实时元组的autovacuum_vacuum_scale_factor
(默认值:0.2),则Autovacuum将启动,因此如果超过20%的表已被删除或更新。
这通常很好,我不会改变它。但如果你想出于某种原因这样做,你可以这样做:
ALTER TABLE posts SET (autovacuum_vacuum_scale_factor = 0.1);