]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Teach relation_needs_vacanalyze() to always compute scores.
authorNathan Bossart <nathan@postgresql.org>
Fri, 3 Apr 2026 21:44:41 +0000 (16:44 -0500)
committerNathan Bossart <nathan@postgresql.org>
Fri, 3 Apr 2026 21:44:41 +0000 (16:44 -0500)
commit53b8ca6881a1578fc47db47a2754faba754a2b7c
tree4ffd29cc6d4580cdc3927a817ffc5c8e28a7c877
parentf19c0eccae9680f5785b11cdc58ef571998caec9
Teach relation_needs_vacanalyze() to always compute scores.

Presently, this function only computes component scores when the
corresponding threshold is reached.  A follow-up commit will add a
view that shows tables' autovacuum scores, and we anticipate that
users will want to use this view to discover tables that are
nearing autovacuum eligibility.  This commit teaches this function
to always compute autovacuum scores, even when a threshold has not
been reached or autovacuum is disabled.

The restructuring in this commit revealed an interesting edge case.
If the table needs vacuuming for wraparound prevention and
autovacuum is disabled for it, we might still choose to analyze it.
It's not clear if this is intentional, but it has been this way for
nearly 20 years, so it seems best to avoid changing it without
further discussion.

Author: Sami Imseih <samimseih@gmail.com>
Reviewed-by: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Discussion: https://postgr.es/m/CAA5RZ0s4xjMrB-VAnLccC7kY8d0-4806-Lsac-czJsdA1LXtAw%40mail.gmail.com
src/backend/postmaster/autovacuum.c