Re: "canceling autovacuum time" - Mailing list pgsql-general

From Tomas Vondra
Subject Re: "canceling autovacuum time"
Date
Msg-id 1940c413769e79c054f402499b114245.squirrel@sq.gransy.com
Whole thread Raw
In response to "canceling autovacuum time"  (Jameison Martin <jameisonb@yahoo.com>)
List pgsql-general
On 28 Únor 2012, 1:53, Jameison Martin wrote:
> I'm seeing "GMTERROR: canceling autovacuum task" lines in my logs.

It's not "GMTERROR", it's "GMT ERROR" where GMT is a timezone. You should
put a space at the end of log_line_prefix I guess.

> 2012-02-27 23:53:28 GMTLOG:  checkpoint starting: time
>>2012-02-27 23:53:31 GMTERROR:  canceling autovacuum task
>>2012-02-27 23:53:31 GMTCONTEXT:  automatic vacuum of table
>> "<somedb>.pg_toast.pg_toast_33254"
>>2012-02-27 23:53:32 GMTERROR:  canceling autovacuum task
>>2012-02-27 23:53:32 GMTCONTEXT:  automatic vacuum of table
>> "<somedb>.pg_toast.pg_toast_33485"
>>2012-02-27 23:54:29 GMTLOG:  automatic vacuum of table
>> "<somedb>.pg_toast.pg_toast_33254": index scans: 1
>
>
> It was suggested to me that perhaps I had an exclusive lock on the table
> that was being vacuumed (e.g. that I was running some DDL that was
> conflicting with the autovacuum). I'm quite certain that I'm not running
> any DDL at the time this happens, all i'm running are:
>     * SELECT ... FOR UPDATE
>     * UPDATE
>     * INSERT
>     * DELETE
> Does anyone have a suggestions as to what the cause of this error might
> be?

Generally yes, autovacuum can cancel itself is something holds a lock.
Check pg_locks what locks are there
(http://www.postgresql.org/docs/9.1/static/view-pg-locks.html).

Tomas


pgsql-general by date:

Previous
From: Filip Rembiałkowski
Date:
Subject: Re: Correct way for locking a row for long time without blocking another transactions (=nowait)?
Next
From: Jov
Date:
Subject: alter user and alter cmd do not have same functions