Re: canceling autovacuum task woes

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Andres Freund <andres(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: canceling autovacuum task woes
Date: 2012-07-24 19:52:23
Message-ID: CA+TgmobbhBijbimzk=tt+G+tz2VXyUYxVdrZ21A-k-eOXscWhQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 24, 2012 at 3:35 PM, Alvaro Herrera
<alvherre(at)commandprompt(dot)com> wrote:
> Yep, it says:
>
> ERROR: canceling autovacuum task
> CONTEXT: automatic vacuum of table "alvherre.public.foo"
>
> So at least that part seems pilot error more than anything else.

Yeah, you're right. So you do get the table name. But you don't get
the cause, which is what you really need to understand why it's
happening. Attached is a patch that adds some more detail. Here's an
example of what the output looks like:

LOG: sending cancel to blocking autovacuum PID 21595
DETAIL: Process 21618 waits for AccessExclusiveLock on relation 27863
of database 16384
STATEMENT: drop table if exists pgbench_accounts
ERROR: canceling autovacuum task
CONTEXT: automatic vacuum of table "rhaas.public.pgbench_accounts"

I think that's a lot more useful than just getting those last two lines...

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachment Content-Type Size
more-autovac-cancel-logging.patch application/octet-stream 1.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2012-07-24 20:03:39 Re: canceling autovacuum task woes
Previous Message Tom Lane 2012-07-24 19:37:54 Re: [patch] libpq one-row-at-a-time API