Обсуждение: Turning off Autovacuum
Not quite a performance question, but I can't seem to find a simple answer to this. We're using 8.1.4 and the autovacuum daemon is running every 40 seconds cycling between 3 databases. What is the easiest way to disable the autovacuumer for a minute or two, do some other work, then re-enable it? Do I have to modify postgresql.conf and send a HUP signal to pick up the changes?
I figured this would work but I can't find a reason why not:
# show autovacuum;
autovacuum
------------
on
(1 row)
autovacuum
------------
on
(1 row)
# set autovacuum to off;
ERROR: parameter "autovacuum" cannot be changed now
In postgresql.conf:
autovacuum = on
Thanks,
Steve
If you want to disable it only for some tables, you can put special values into pg_autovacuum. This won't disable the autovacuum daemon, but some of the tables won't be vacuumed. Tomas > Not quite a performance question, but I can't seem to find a simple > answer to this. We're using 8.1.4 and the autovacuum daemon is > running every 40 seconds cycling between 3 databases. What is the > easiest way to disable the autovacuumer for a minute or two, do some > other work, then re-enable it? Do I have to modify postgresql.conf > and send a HUP signal to pick up the changes? > > I figured this would work but I can't find a reason why not: > > # show autovacuum; > autovacuum > ------------ > on > (1 row) > > # set autovacuum to off; > ERROR: parameter "autovacuum" cannot be changed now > > In postgresql.conf: > > autovacuum = on > > Thanks, > > Steve >
Yeah, I'm hoping there's an easier way. I'd have to put several thousand entries in the pg_autovacuum table only to remove them a few minutes later. What I really want is to disable the daemon.
Any idea why I can't just simply set autovacuum to off?
Steve
On 3/5/07, Tomas Vondra <tv@fuzzy.cz> wrote:
If you want to disable it only for some tables, you can put special
values into pg_autovacuum. This won't disable the autovacuum daemon, but
some of the tables won't be vacuumed.
Tomas
> Not quite a performance question, but I can't seem to find a simple
> answer to this. We're using 8.1.4 and the autovacuum daemon is
> running every 40 seconds cycling between 3 databases. What is the
> easiest way to disable the autovacuumer for a minute or two, do some
> other work, then re-enable it? Do I have to modify postgresql.conf
> and send a HUP signal to pick up the changes?
>
> I figured this would work but I can't find a reason why not:
>
> # show autovacuum;
> autovacuum
> ------------
> on
> (1 row)
>
> # set autovacuum to off;
> ERROR: parameter "autovacuum" cannot be changed now
>
> In postgresql.conf:
>
> autovacuum = on
>
> Thanks,
>
> Steve
>