Turning off Autovacuum

Lists: pgsql-performance
From: "Steven Flatt" <steven(dot)flatt(at)gmail(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Turning off Autovacuum
Date: 2007-03-05 16:00:48
Message-ID: 357fa7590703050800u5954e55fyc806ee19fb1f161@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

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


From: Tomas Vondra <tv(at)fuzzy(dot)cz>
To: Steven Flatt <steven(dot)flatt(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Turning off Autovacuum
Date: 2007-03-05 20:26:45
Message-ID: 45EC7D05.60204@fuzzy.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

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
>


From: "Steven Flatt" <steven(dot)flatt(at)gmail(dot)com>
To: "Tomas Vondra" <tv(at)fuzzy(dot)cz>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Turning off Autovacuum
Date: 2007-03-05 21:47:33
Message-ID: 357fa7590703051347oae6ce8rb34a188a823bb66d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

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(at)fuzzy(dot)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
> >
>
>