diff options
-rw-r--r-- | src/backend/tcop/utility.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 7f36a09f46d..3b0ebdd3e75 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -1018,10 +1018,14 @@ standard_ProcessUtility(Node *parsetree, break; case T_VacuumStmt: - /* we choose to allow this during "read only" transactions */ - PreventCommandDuringRecovery("VACUUM"); - vacuum((VacuumStmt *) parsetree, InvalidOid, true, NULL, false, - isTopLevel); + { + VacuumStmt *stmt = (VacuumStmt *) parsetree; + + /* we choose to allow this during "read only" transactions */ + PreventCommandDuringRecovery((stmt->options & VACOPT_VACUUM) ? + "VACUUM" : "ANALYZE"); + vacuum(stmt, InvalidOid, true, NULL, false, isTopLevel); + } break; case T_ExplainStmt: |