Re: BUG #3898: Postgres autovacuum not respecting pg_autovacuum.enabled = false
От | Tom Lane |
---|---|
Тема | Re: BUG #3898: Postgres autovacuum not respecting pg_autovacuum.enabled = false |
Дата | |
Msg-id | 28575.1201136061@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | BUG #3898: Postgres autovacuum not respecting pg_autovacuum.enabled = false ("Steven Flatt" <steven.flatt@gmail.com>) |
Ответы |
Re: BUG #3898: Postgres autovacuum not respecting
pg_autovacuum.enabled = false
Re: BUG #3898: Postgres autovacuum not respecting pg_autovacuum.enabled = false |
Список | pgsql-bugs |
"Steven Flatt" <steven.flatt@gmail.com> writes: > I noticed that the Postgres autovacuum process was vacuuming some tables > that had enabled = false in pg_autovacuum. I think what is happening is that because you set pg_autovacuum.freeze_max_age to zero, the thing always thinks that it's time to force an anti-wraparound vacuum. IOW a nondefault freeze age is still applied whether or not enabled is true. I'm not quite sure if that's a bug or a feature --- you could argue that it's a feature because it lets you suppress routine autovacuuming and still customize the anti-wraparound timing. Maybe it's a documentation bug: the docs say that enabled = false means the table is "never autovacuumed", but what the code seems to be implementing is "it's only autovacuumed when necessary to prevent wraparound". I think that's the behavior we want ... In any case, you should be setting "unused" fields of a pg_autovacuum entry to -1, not zero. regards, tom lane
В списке pgsql-bugs по дате отправления: