Thread: Can I safely kill a VACUUM ANALYZE with pg_cancel_backend 8.3

Can I safely kill a VACUUM ANALYZE with pg_cancel_backend 8.3

From
Jason Culverhouse
Date:
HI,
I have a vacuum process that has been running on a table for the past 20 days.
The server is postgres 8.3 on ubuntu linux.

Can I safely kill the vacuum with:
    select pg_cancel_backend(26433)

Some stats
The table sees ~5million and not more than ~10million updates month

$ ps aux | grep 26433
postgres 26433  0.0  1.5 35468848 2012212 ?    Ss   Apr08  26:00 postgres: autovacuum worker process   foo

foo=# select procpid, now() - query_start, query_start, current_query from pg_stat_activity where current_query !=
'<IDLE>'orderby 1 desc; 
procpid |        ?column?         |          query_start          |
       current_query                                                              

---------+-------------------------+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------
  26433 | 20 days 20:11:32.386244 | 2010-04-08 14:19:59.298784-07 | autovacuum: VACUUM ANALYZE public.message

Thanks,
Jason



Re: Can I safely kill a VACUUM ANALYZE with pg_cancel_backend 8.3

From
Tom Lane
Date:
Jason Culverhouse <Jason@Mischievous.org> writes:
> I have a vacuum process that has been running on a table for the past 20 days.
> The server is postgres 8.3 on ubuntu linux.

> Can I safely kill the vacuum with:
>     select pg_cancel_backend(26433)

Sure.

20 days is a long time.  Is it actually running, or blocked on a lock?
If not blocked, I have to guess that you've chosen very poor vacuum
delay settings.

            regards, tom lane

Re: Can I safely kill a VACUUM ANALYZE with pg_cancel_backend 8.3

From
"Kevin Grittner"
Date:
Jason Culverhouse <Jason@Mischievous.org> wrote:

> The server is postgres 8.3 on ubuntu linux.

There have been a number of bugs fixed in vacuuming, including
autovacuum, since the original 8.3 release.  I hope you mean
8.3.somethingrecent -- if not, you should get the latest fixes.

> Can I safely kill the vacuum with:
>   select pg_cancel_backend(26433)

That is safe.  If it doesn't work, you may need a bigger hammer.

-Kevin