pgsql: Teach relation_needs_vacanalyze() to always compute scores. - Mailing list pgsql-committers

From Nathan Bossart
Subject pgsql: Teach relation_needs_vacanalyze() to always compute scores.
Date
Msg-id E1w8mKh-002oBN-1J@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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

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(-)


pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: Online enabling and disabling of data checksums
Next
From: Nathan Bossart
Date:
Subject: pgsql: Add elevel parameter to relation_needs_vacanalyze().