diff --git a/src/backend/distributed/commands/table.c b/src/backend/distributed/commands/table.c index aa4fc9494..aa05247f9 100644 --- a/src/backend/distributed/commands/table.c +++ b/src/backend/distributed/commands/table.c @@ -139,7 +139,12 @@ PreprocessDropTableStmt(Node *node, const char *queryString, continue; } - LockParentShardResourcesForShardsOfPartition(relationId); + if(PartitionTable(relationId)) { + Oid parentId = PartitionParentOid(relationId); + LockRelationOid(parentId, AccessExclusiveLock); + LockRelationOid(relationId, AccessExclusiveLock); + LockParentShardResourcesForShardsOfPartition(relationId); + } if (IsCitusTableType(relationId, REFERENCE_TABLE)) {