diff options
-rw-r--r-- | src/bin/scripts/t/100_vacuumdb.pl | 6 | ||||
-rw-r--r-- | src/bin/scripts/vacuumdb.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/bin/scripts/t/100_vacuumdb.pl b/src/bin/scripts/t/100_vacuumdb.pl index 945c30df156..a16fad593f7 100644 --- a/src/bin/scripts/t/100_vacuumdb.pl +++ b/src/bin/scripts/t/100_vacuumdb.pl @@ -351,5 +351,11 @@ $node->issues_sql_like( ], qr/statement: ANALYZE public.parent_table/s, '--analyze-only updates statistics for partitioned tables'); +$node->issues_sql_unlike( + [ + 'vacuumdb', '--analyze-only', 'postgres' + ], + qr/statement:\ VACUUM/sx, + '--analyze-only does not run vacuum'); done_testing(); diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index fd236087e90..6e30f223efe 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -750,7 +750,8 @@ vacuum_one_database(ConnParams *cparams, } /* If we used SKIP_DATABASE_STATS, mop up with ONLY_DATABASE_STATS */ - if (vacopts->skip_database_stats && stage == ANALYZE_NO_STAGE) + if (vacopts->skip_database_stats && stage == ANALYZE_NO_STAGE && + !vacopts->analyze_only) { const char *cmd = "VACUUM (ONLY_DATABASE_STATS);"; ParallelSlot *free_slot = ParallelSlotsGetIdle(sa, NULL); |