Re: admin control over cancelling autovacuum when blocked by a lock - Mailing list pgsql-admin

From Simon Riggs
Subject Re: admin control over cancelling autovacuum when blocked by a lock
Date
Msg-id CANP8+jJSysBHF_QRdYmT-iKQDy4yw8OaqgiLoNJPdjTX1bJB8w@mail.gmail.com
Whole thread Raw
In response to admin control over cancelling autovacuum when blocked by a lock  (John Lumby <johnlumby@hotmail.com>)
Responses Re: admin control over cancelling autovacuum when blocked by a lock  (John Lumby <johnlumby@hotmail.com>)
Re: admin control over cancelling autovacuum when blocked by a lock  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-admin
On Mon, 29 Apr 2019 at 22:02, John Lumby <johnlumby@hotmail.com> wrote:
If a regular backend worker becomes blocked waiting for a lock held by an autovacuum worker,
then ,  depending on some decision made by deadlock detector,
the autovacuum worker may be signalled to terminate

This results in messages such as these in the statement log


ERROR:  canceling autovacuum task
CONTEXT:  automatic vacuum of table "somedb.aschema.thistable"

Is there any configuration parameter which controls this?
including deferring or even completely eliminating this cancelling?
so that,  in the eliminate case,  the waiter would simply go on waiting
until the autovacuum eventually finishes "thistable"?

I have not seen any parameter to do this.
Note that I don't mean some parameter which affects all locking behaviour,
only this autovacuum case.

Why would you want this?

If the autovacuum is cancelled, it will re-execute again in the near future, once your interrupting SQL has released locks. 

--
Simon Riggs                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

pgsql-admin by date:

Previous
From: John Lumby
Date:
Subject: admin control over cancelling autovacuum when blocked by a lock
Next
From: John Lumby
Date:
Subject: Re: admin control over cancelling autovacuum when blocked by a lock