diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 336d3b42d720c214405eaabd7329306de6a647e6..b16e2c48900ce92a1bf9cadb3feab47fbd4c161b 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -241,7 +241,10 @@ CreateTrigger(CreateTrigStmt *stmt, Oid constraintOid) */ tgrel = heap_open(TriggerRelationId, RowExclusiveLock); - trigoid = GetNewOid(tgrel); + if (OidIsValid(stmt->trigOid)) + trigoid = stmt->trigOid; + else + trigoid = GetNewOid(tgrel); /* * If trigger is for an RI constraint, the passed-in name is the