]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Remove autoanalyze corner case.
authorNathan Bossart <nathan@postgresql.org>
Mon, 6 Apr 2026 16:28:46 +0000 (11:28 -0500)
committerNathan Bossart <nathan@postgresql.org>
Mon, 6 Apr 2026 16:28:46 +0000 (11:28 -0500)
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

index 250c43b85e5bf122f7342a13e864ae4cf1a48d18..c4d6b8811bf5c10395eb0b66ea61999389426092 100644 (file)
@@ -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)