Re: another autovacuum scheduling thread
Sami Imseih <samimseih@gmail.com>
From: Sami Imseih <samimseih@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: David Rowley <dgrowleyml@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Jeremy Schneider <schneider@ardentperf.com>, pgsql-hackers@postgresql.org
Date: 2025-10-23T19:32:50Z
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, Oct 23, 2025 at 01:22:24PM -0500, Sami Imseih wrote: > > I was looking at v3, and I understand the formula will be updated in the > > next version. However, do you think we should benchmark the approach > > of using an intermediary list to store the eligible tables and sorting > > that list, > > which may cause larger performance overhead for databases with hundreds > > of tables that may all be eligible for autovacuum. I do think such cases > > out there are common, particularly in multi-tenant type databases, where > > each tenant could be one or more tables. > > We already have an intermediary list of table OIDs, so the additional > overhead is ultimately just the score calculation and the sort operation. > I'd be quite surprised if that added up to anything remotely worrisome, > even for thousands of eligible tables. Yeah, you’re correct, the list already exists; sorry I missed that. My main concern is the additional overhead of the sort operation, especially if we have many eligible tables and an aggressive autovacuum_naptime. I don’t think we should make the existing performance of many relations any worse with an additional sort. That said, in such cases the sort may not even be the main performance bottleneck, since the catalog scan itself already doesn’t scale well with many relations. With our current approach, we have more options to improve this, but if we add a sort, we may not be able to avoid a full scan. -- Sami