Re: Disabling vacuum truncate for autovacuum - Mailing list pgsql-general

From Jeremy Schneider
Subject Re: Disabling vacuum truncate for autovacuum
Date
Msg-id 20241226122108.33e906a3@jeremy-ThinkPad-T430s
Whole thread Raw
In response to Disabling vacuum truncate for autovacuum  (Will Storey <will@summercat.com>)
Responses Re: Disabling vacuum truncate for autovacuum
List pgsql-general
On Mon, 16 Dec 2024 16:25:06 -0800
Will Storey <will@summercat.com> wrote:

> I would like to disable vacuum's truncate behaviour for autovacuum.
> Previously I had an outage due to its access exclusive lock when it
> was replicated to a hot standby.
> 
> When that outage happened it was from a VACUUM call in a cronjob
> rather than autovacuum. I now run such VACUUMs with TRUNCATE false
> which avoids the issue for these. However I've realized that
> autovacuum could cause this as well. This is of interest to me
> because I'm looking at tuning autovacuum and getting rid of the
> cronjob, but I've realized relying on autovacuum could be dangerous
> because of the truncates.

Can you tell us a little bit more about the outage? Autovacuum is
designed to quickly relinquish this lock if there is any contention, and
the dangers of disabling autovacuum are significant, so your statement
about autovac being "dangerous" will raise a lot of eyebrows.

Did your outage involve hot standbys serving read-only traffic, or did
it only involve a read-write database?

What was the exact nature of the outage and how did you narrow down the
cause to the exclusive lock held specifically during an autovacuum
truncation?

-Jeremy



pgsql-general by date:

Previous
From: PetSerAl
Date:
Subject: Synchronous commit after asynchronous commit
Next
From: Will Storey
Date:
Subject: Re: Disabling vacuum truncate for autovacuum