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 <[email protected]>
Reviewed-by: Bharath Rupireddy <[email protected]>
Discussion: 
https://postgr.es/m/CAA5RZ0s4xjMrB-VAnLccC7kY8d0-4806-Lsac-czJsdA1LXtAw%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/53b8ca6881a1578fc47db47a2754faba754a2b7c

Modified Files
--------------
src/backend/postmaster/autovacuum.c | 136 ++++++++++++++++++------------------
1 file changed, 67 insertions(+), 69 deletions(-)

Reply via email to