Re: Add pg_stat_autovacuum_priority
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Sami Imseih <samimseih@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Tom Lane <tgl@sss.pgh.pa.us>, Alexander Lakhin <exclusion@gmail.com>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, Robert Treat <rob@xzilla.net>, satyanarlapuram@gmail.com, pgsql-hackers <pgsql-hackers@postgresql.org>, tndrwang@gmail.com
Date: 2026-04-09T01:02:53Z
Lists: pgsql-hackers
On Wed, Apr 08, 2026 at 06:51:59PM -0500, Sami Imseih wrote: > I went ahead and implemented Andres's idea of will_free. Callers of > pgstat_fetch_entry can either pass a NULL to a will_free parameter, > or a bool. Callers that pass the bool can check if will_free is true and > can choose to free the entry. Yeah, I think this is the right thing to do. IMHO "may_free" is slightly more accurate here, since we're telling the caller that they can explicitly pfree() the result instead of letting the pgstat machinery or their own memory context take care of it. + /* + * When pgstat_fetch_consistency is PGSTAT_FETCH_CONSISTENCY_NONE, callers + * will be responsible for freeing the entry. + */ + if (will_free) + *will_free = (pgstat_fetch_consistency == PGSTAT_FETCH_CONSISTENCY_NONE); I don't know if this is a strict project guideline, but when I add these sorts of function parameters I usually just require the caller to provide a non-NULL pointer. But... what you have here seems fine, too. -- nathan
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