On Thu, 30 Oct 2025 at 19:48, wenhui qiu <[email protected]> wrote: > I think there might be some misunderstanding — I’m only suggesting > changing > effective_xid_failsafe_age = Max(vacuum_failsafe_age, > autovacuum_freeze_max_age * 1.05); > to > effective_xid_failsafe_age = (vacuum_failsafe_age + > autovacuum_freeze_max_age) / 2.0; > In the current logic, effective_xid_failsafe_age is almost always equal to > vacuum_failsafe_age. > As a result, increasing the vacuum priority only when a table’s age reaches > vacuum_failsafe_age is too late.
I understand your proposal. The autovacuum will trigger for the wraparound at autovacuum_freeze_max_age, so for autovacuum still not to have gotten to the table by the time the table is aged at vacuum_failsafe_age, it means autovacuum isn't working quickly enough to get through the workload, therefore the problem is with the speed of autovacuum not the priority of autovacuum. David
