remove autoanalyze corner case
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Sami Imseih <samimseih@gmail.com>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, Robert Treat <rob@xzilla.net>, satyanarlapuram@gmail.com, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-04-04T02:55:25Z
Lists: pgsql-hackers
Attachments
- v1-0001-remove-autoanalyze-corner-case.patch (text/plain)
(new thread from [0]) On Fri, Apr 03, 2026 at 02:13:16PM -0500, Sami Imseih wrote: >> * I noticed that if autovacuum decides to force a vacuum for >> anti-wraparound purposes, it might also decide to analyze the table even if >> autovacuum is disabled for it. AFAICT this is accidental, but since it's >> behaved this way since commit 48188e1621 (2006) [0], I am slightly worried >> that this bug may have become a feature. In 0002, I separated this edge >> case in the code and added a comment, and I intend to start a new thread >> about removing it. > > hmm yeah, I think this just needs to be documented clearly. I always > thought it was expected for auto-analyze to run in this case, and I don't > see why it shouldn't. If this needs to be clarified in docs, we should > do that in a separate discussion. Well, autoanalyze only runs in this case if autovacuum is disabled via the table's autovacuum_enabled reloption and _not_ disabled via the autovacuum or track_counts GUCs. I think this is pretty clearly unintentional, as I can find no mention in the code, archives, or docs. And unless I'm missing something, it's completely unnecessary. So IMHO we should just remove it. [0] https://postgr.es/m/CAA5RZ0sCRjH3xkHFdSXnKysdMZXFyaS_094%2BK-O_rr4Fkmwc%3DQ%40mail.gmail.com -- nathan
Commits
-
Remove autoanalyze corner case.
- e3481edfd1b6 19 (unreleased) landed