为什么 autovacuum 不清理我的 table?
why does autovacuum not vacuum my table?
我的模式中有一个 table 没有自动清理。如果我在 table 上 运行 VACUUM posts;
真空过程很好地完成,但 autovacuum 守护进程由于某种原因从不真空 table 。
有没有办法找出原因?这可能是什么原因?
很好,不用担心。
table 是唯一的中型(300 万行)。
如果死元组的数量超过活动元组的 autovacuum_vacuum_scale_factor
(默认值:0.2),Autovacuum 将启动,因此如果超过 20% 的 table 已被删除或更新.
这通常很好,我不会改变它。但是如果你出于某种原因想要这样做,你可以这样做:
ALTER TABLE posts SET (autovacuum_vacuum_scale_factor = 0.1);
我的模式中有一个 table 没有自动清理。如果我在 table 上 运行 VACUUM posts;
真空过程很好地完成,但 autovacuum 守护进程由于某种原因从不真空 table 。
有没有办法找出原因?这可能是什么原因?
很好,不用担心。
table 是唯一的中型(300 万行)。
如果死元组的数量超过活动元组的 autovacuum_vacuum_scale_factor
(默认值:0.2),Autovacuum 将启动,因此如果超过 20% 的 table 已被删除或更新.
这通常很好,我不会改变它。但是如果你出于某种原因想要这样做,你可以这样做:
ALTER TABLE posts SET (autovacuum_vacuum_scale_factor = 0.1);