postgres.git / summary / log / commit / refs
commit e3481edfd1b6b0a64fef8f43cfa3b48e94c01682
Author: Nathan Bossart <nathan@postgresql.org>
Date: Mon Apr 06 16:28:46 2026 +0000
Remove autoanalyze corner case.
The restructuring in commit 53b8ca6881 revealed an interesting
corner case: if a table needs vacuuming for wraparound prevention
and autovacuum is disabled for it, we might still choose to analyze
it. Research seems to indicate this was an accidental addition by
commit 48188e1621, and further discussion indicates there is
consensus that it is unnecessary and can be removed.
Reviewed-by: Robert Treat <rob@xzilla.net>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
Reviewed-by: Sami Imseih <samimseih@gmail.com>
Reviewed-by: Shinya Kato <shinya11.kato@gmail.com>
Discussion: https://postgr.es/m/adB9nSsm_S0D9708%40nathan
src/backend/postmaster/autovacuum.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index 250c43b85e5..c4d6b8811bf 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -3338,15 +3338,6 @@ relation_needs_vacanalyze(Oid relid,
scores->max = Max(scores->max, scores->anl);
if (av_enabled && anltuples > anlthresh)
*doanalyze = true;
-
- /*
- * For historical reasons, we analyze even when autovacuum is disabled
- * for the table if at risk of wraparound. It's not clear if this is
- * intentional, but it has been this way for a very long time, so it
- * seems best to avoid changing it without further discussion.
- */
- if (force_vacuum && AutoVacuumingActive() && anltuples > anlthresh)
- *doanalyze = true;
}
if (vac_ins_base_thresh >= 0)
[parent: e0e819cc08d3]