vacuumdb: Fix --analyze-in-stages skipping partitioned tables

Fujii Masao <fujii@postgresql.org>

Commit: 95b6ec52e684e5de743e5bf4a2303f6cac466682
Author: Fujii Masao <fujii@postgresql.org>
Date: 2026-06-03T07:53:16Z
vacuumdb: Fix --analyze-in-stages skipping partitioned tables

Commit 6429e5b77 changed vacuumdb to process partitioned tables when
--analyze-only or --analyze-in-stages is specified, matching the
documented behavior of analyzing regular tables, partitioned tables,
and materialized views.

Later, commit c4067383cb2 accidentally changed this behavior so that
partitioned tables were processed for --analyze-only, but skipped for
--analyze-in-stages.

As a result, vacuumdb --analyze-in-stages no longer matched its
documentation. Partitioned tables were skipped, leaving parent-table
statistics outdated even though users running vacuumdb
--analyze-in-stages after pg_upgrade, restore, or bulk loading would
expect statistics to be rebuilt for the database.

Fix this issue by making --analyze-in-stages process partitioned
tables again.

Author: Chao Li <lic@highgo.com>
Reviewed-by: Fujii Masao <masao.fujii@gmail.com>
Discussion: https://postgr.es/m/EDFF0AFB-050F-4FBF-8D4F-B44DC454D957@gmail.com

Files

PathChange+/−
src/bin/scripts/t/100_vacuumdb.pl modified +4 −0
src/bin/scripts/vacuuming.c modified +8 −6

Discussion