Re: another autovacuum scheduling thread
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: wenhui qiu <qiuwenhuifx@gmail.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>,
Sami Imseih <samimseih@gmail.com>, Robert Haas <robertmhaas@gmail.com>,
Jeremy Schneider <schneider@ardentperf.com>, pgsql-hackers@postgresql.org
Date: 2025-10-30T10:36:25Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add rudimentary table prioritization to autovacuum.
- d7965d65fc5b 19 (unreleased) landed
-
Trigger more frequent autovacuums with relallfrozen
- 06eae9e6218a 18.0 cited
-
Harden nbtree page deletion.
- c34787f91058 14.0 cited
-
Check for interrupts inside the nbtree page deletion code.
- 3a01f68e35a3 12.0 cited
On Thu, 30 Oct 2025 at 19:48, wenhui qiu <qiuwenhuifx@gmail.com> 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