Re: Add pg_stat_autovacuum_priority
Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
To: Sami Imseih <samimseih@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-03-28T09:18:34Z
Lists: pgsql-hackers
Hi, On Fri, Mar 27, 2026 at 4:14 PM Sami Imseih <samimseih@gmail.com> wrote: > > This is a quick follow-up to the commit d7965d65f which > introduced autovacuum prioritization based on a score that > is the Max of several components, such as vacuum > thresholds, xid age, etc. Thanks for sending the patch. +1 for the visibility into the new autovacuum scoring system and its impact on prioritization. It would also be nice to add the computed scores to pg_stat_progress_vacuum to show the current prioritization. IMHO, we can get that change first. It's relatively smaller. I quickly reviewed the v1 patches. Here are some comments: 1/ + * pg_stat_get_autovacuum_priority + * Returns the autovacuum priority score for each relation in the + * current database. + * Can we have the per-relation prioritization computation function in C and provide a per-database computation function as a SQL function over this per-relation function in system_functions.sql? This would simplify things and also address the concern raised by Satya in this thread about databases having a large number of relations. Would that work? 2/ Do we need to revoke permissions on pg_stat_get_autovacuum_priority for all and grant them to pg_monitor or similar? Especially since this function loops over all the relations in a database, we may not want everyone to be able to do this. -- Bharath Rupireddy Amazon Web Services: https://aws.amazon.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix double-free in pg_stat_autovacuum_scores.
- 71ff232a5bc4 19 (unreleased) landed
-
Add LOG_NEVER error level code.
- 60165db6e1f2 19 (unreleased) landed
-
Add pg_stat_autovacuum_scores system view.
- 87f61f0c8280 19 (unreleased) landed
-
Remove recheck_relation_needs_vacanalyze().
- 775fe51daaef 19 (unreleased) landed
-
Add elevel parameter to relation_needs_vacanalyze().
- 01876ace1369 19 (unreleased) landed
-
Teach relation_needs_vacanalyze() to always compute scores.
- 53b8ca6881a1 19 (unreleased) landed
-
Refactor relation_needs_vacanalyze().
- 8261ee24fe33 19 (unreleased) landed
-
Add rudimentary table prioritization to autovacuum.
- d7965d65fc5b 19 (unreleased) cited
-
Fix per-relation memory leakage in autovacuum.
- 02502c1bca54 18.0 cited
-
Fix recently-understood problems with handling of XID freezing, particularly
- 48188e1621bb 8.2.0 cited