From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | Jeff Davis <pgsql(at)j-davis(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Decoupling antiwraparound autovacuum from special rules around auto cancellation |
Date: | 2023-01-09 01:49:20 |
Message-ID: | CAH2-Wz=dvf6AzA1SjCCbShbt5Cd5LSAJQ_9hcOhgnJw7D0v0FA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Dec 29, 2022 at 7:01 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> Attached is v2, which is just to fix bitrot.
Attached is v3. We no longer apply vacuum_failsafe_age when
determining the cutoff for antiwraparound autovacuuming -- the new
approach is a bit simpler.
This is a fairly small change overall. Now any "table age driven"
autovacuum will also be antiwraparound when its
relfrozenxid/relminmxid attains an age that's either double the
relevant setting (either autovacuum_freeze_max_age or
effective_multixact_freeze_max_age), or 1 billion XIDs/MXIDs --
whichever is less.
That makes it completely impossible to disable antiwraparound
protections (the special antiwrap autocancellation behavior) for
table-age-driven autovacuums once table age exceeds 1 billion
XIDs/MXIDs. It's still possible to increase autovacuum_freeze_max_age
to well over a billion, of course. It just won't be possible to do
that while also avoiding the no-auto-cancellation behavior for those
autovacuums that are triggered due to table age crossing the
autovacuum_freeze_max_age/effective_multixact_freeze_max_age
threshold.
--
Peter Geoghegan
Attachment | Content-Type | Size |
---|---|---|
v3-0001-Add-table-age-trigger-concept-to-autovacuum.patch | application/x-patch | 26.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2023-01-09 02:17:21 | Re: [PATCH] random_normal function |
Previous Message | Peter Geoghegan | 2023-01-09 01:45:41 | Re: New strategies for freezing, advancing relfrozenxid early |