Re: another autovacuum scheduling thread

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Sami Imseih <samimseih@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Jeremy Schneider <schneider@ardentperf.com>, pgsql-hackers@postgresql.org
Date: 2025-11-11T16:36:32Z
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 →
  1. Add rudimentary table prioritization to autovacuum.

  2. Trigger more frequent autovacuums with relallfrozen

  3. Harden nbtree page deletion.

  4. Check for interrupts inside the nbtree page deletion code.

Attachments

Still catching up on the latest discussion, but here's a v8 patch that
amends the DEBUG3 in relation_needs_vacanalyze() to also log the score.  I
might attempt to add some sort of brief documentation about autovacuum
prioritization next.

From skimming the latest discussion, I gather we might want to consider
re-sorting the list periodically.  Is the idea that we'll re-sort the
remaining tables in the list, or that we'll basically restart
do_autovacuum()?  If it's the latter, then we'll need to come up with some
way to decide when to stop for the current database.  Right now, we just go
through pg_class and call it a day.

-- 
nathan