Skip site navigation (1) Skip section navigation (2)

Re: BUG #3898: Postgres autovacuum not respectingpg_autovacuum.enabled = false

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Steven Flatt <steven(dot)flatt(at)gmail(dot)com>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #3898: Postgres autovacuum not respectingpg_autovacuum.enabled = false
Date: 2008-01-24 03:01:13
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
Tom Lane escribió:
> "Steven Flatt" <steven(dot)flatt(at)gmail(dot)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.

That's correct.

> 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 ...

IMO it's a usability bug which will be gone when we move to
pg_class.reloptions -- you won't need to set random values for options
you don't know what to set to.

As for documentation, this is mentioned somewhere.  Perhaps not clearly
enough?   OTOH I think the real problem is that people think
documentation can be skipped, thus they don't know the "fine print" --
so it won't matter how non-fine we make it.

Alvaro Herrera                      
The PostgreSQL Company - Command Prompt, Inc.

In response to


pgsql-bugs by date

Next:From: Simon RiggsDate: 2008-01-24 09:19:17
Subject: Re: BUG #3898: Postgres autovacuum not respectingpg_autovacuum.enabled = false
Previous:From: Tom LaneDate: 2008-01-24 01:09:42
Subject: Re: Statement Timeout Message Incorrect

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group