mirror of
https://github.com/postgres/postgres.git
synced 2025-10-04 00:02:26 -04:00
vacuumdb: Do not run VACUUM (ONLY_DATABASE_STATS) when --analyze-only.
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
This commit is contained in:
parent
ae8ea7278c
commit
879c492480
@ -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();
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user