Previously, vacuumdb --analyze-only issued VACUUM (ONLY_DATABASE_STATS)
at the end. Since --analyze-only is meant to update optimizer statistics only,
this extra VACUUM command is unnecessary.
This commit prevents vacuumdb --analyze-only from running that redundant
VACUUM command.
Author: Fujii Masao <masao.fujii@gmail.com>
Reviewed-by: Mircea Cadariu <cadariu.mircea@gmail.com>
Discussion: https://postgr.es/m/CAHGQGwEqHGa-k=wbRMucUVihHVXk4NQkK94GNN=ym9cQ5HBSHg@mail.gmail.com
],
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();
}
/* 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);