diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 6f44d71f16b..83579e13b42 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -3024,7 +3024,11 @@ lmerge_matched: * first qualifying action. */ resultRelationDesc = resultRelInfo->ri_RelationDesc; - lockmode = ExecUpdateLockMode(estate, resultRelInfo); + + if (commandType == CMD_UPDATE) + lockmode = updateCxt.lockmode; + else + lockmode = RowExclusiveLock; inputslot = EvalPlanQualSlot(epqstate, resultRelationDesc, resultRelInfo->ri_RangeTableIndex);