On Thu, Mar 18, 2021 at 12:23 PM Peter Geoghegan <p...@bowt.ie> wrote: > > On Wed, Mar 17, 2021 at 7:16 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > > Since I was thinking that always skipping index vacuuming on > > anti-wraparound autovacuum is legitimate, skipping index vacuuming > > only when we're really close to the point of going into read-only mode > > seems a bit conservative, but maybe a good start. I've attached a PoC > > patch to disable index vacuuming if the table's relfrozenxid is too > > older than autovacuum_freeze_max_age (older than 1.5x of > > autovacuum_freeze_max_age). > > Most anti-wraparound VACUUMs are really not emergencies, though. So > treating them as special simply because they're anti-wraparound > vacuums doesn't seem like the right thing to do. I think that we > should dynamically decide to do this when (antiwraparound) VACUUM has > already been running for some time. We need to delay the decision > until it is almost certainly true that we really have an emergency.
That's a good idea to delay the decision until two_pass_strategy(). > > Can you take what you have here, and make the decision dynamic? Delay > it until we're done with the first heap scan? This will require > rebasing on top of the patch I posted. And then adding a third patch, > a little like the second patch -- but not too much like it. Attached the updated patch that can be applied on top of your v3 patches. Regards, -- Masahiko Sawada EDB: https://www.enterprisedb.com/
v3-0003-Skip-index-vacuuming-when-there-is-a-risk-of-wrap.patch
Description: Binary data