1
0
mirror of https://github.com/postgres/postgres.git synced 2025-12-19 17:02:53 +03:00

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
This commit is contained in:
Nathan Bossart
2025-02-04 15:07:54 -06:00
committed by John Naylor
parent e2080261cc
commit 5f8eb25706
4 changed files with 195 additions and 0 deletions

View File

@@ -2820,6 +2820,33 @@ sub issues_sql_like
=pod
=item $node->issues_sql_unlike(cmd, unexpected_sql, test_name)
Run a command on the node, then verify that $unexpected_sql does not appear in
the server log file.
=cut
sub issues_sql_unlike
{
local $Test::Builder::Level = $Test::Builder::Level + 1;
my ($self, $cmd, $unexpected_sql, $test_name) = @_;
local %ENV = $self->_get_env();
my $log_location = -s $self->logfile;
my $result = PostgreSQL::Test::Utils::run_log($cmd);
ok($result, "@$cmd exit code 0");
my $log =
PostgreSQL::Test::Utils::slurp_file($self->logfile, $log_location);
unlike($log, $unexpected_sql, "$test_name: SQL not found in server log");
return;
}
=pod
=item $node->log_content()
Returns the contents of log of the node