我的模式中有一个表没有自动清理。如果我在表上运行 VACUUM posts;
,清理过程会很好地完成,但是 autovacuum 守护进程出于某种原因永远不会对表进行清理。
有没有办法找出原因?这可能是什么原因?
最佳答案
这很好,不用担心。
该表是唯一一个中等大小的表(300 万行)。
如果死元组的数量超过事件元组的 autovacuum_vacuum_scale_factor
(默认值:0.2),那么如果超过 20% 的表已被删除或更新,Autovacuum 将启动。
这通常很好,我不会更改它。但是如果你出于某种原因想要这样做,你可以这样做:
ALTER TABLE posts SET (autovacuum_vacuum_scale_factor = 0.1);
关于postgresql - 为什么 autovacuum 不吸尘我的 table ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50872099/