Thread: Can I safely kill a VACUUM ANALYZE with pg_cancel_backend 8.3
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
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
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