vacuumdb: Add option for analyzing only relations missing stats.
authorNathan Bossart <nathan@postgresql.org>
Tue, 4 Feb 2025 21:07:54 +0000 (15:07 -0600)
committerJohn Naylor <john.naylor@postgresql.org>
Fri, 7 Mar 2025 03:17:35 +0000 (10:17 +0700)
commit5f8eb25706b62923c53172e453c8a4dedd877a3d
treecb293d4335eeb54b12153444b267b28eaba3465e
parente2080261cc8c1a962708843dc4c806e19fb2c44e
vacuumdb: Add option for analyzing only relations missing stats.

This commit adds a new --missing-only option that can be used in
conjunction with --analyze-only and --analyze-in-stages.  When this
option is specified, vacuumdb will generate ANALYZE commands for a
relation if it is missing any statistics it should ordinarily have.
For example, if a table has statistics for one column but not
another, we will analyze the whole table.  A similar principle
applies to extended statistics, expression indexes, and table
inheritance.

Co-authored-by: Corey Huinker <corey.huinker@gmail.com>
Reviewed-by: TODO
Discussion: https://postgr.es/m/Z5O1bpcwDrMgyrYy%40nathan
doc/src/sgml/ref/vacuumdb.sgml
src/bin/scripts/t/102_vacuumdb_stages.pl
src/bin/scripts/vacuumdb.c
src/test/perl/PostgreSQL/Test/Cluster.pm