diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index a98a5115837..8cf25845222 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -1226,6 +1226,13 @@ heap_create_with_catalog(const char *relname, relpersistence); } + /* + * Other sessions' catalog scans can't find this until we commit. Hence, + * it doesn't hurt to hold AccessExclusiveLock. Do it here so callers + * can't accidentally vary in their lock mode or acquisition timing. + */ + LockRelationOid(relid, AccessExclusiveLock); + /* * Determine the relation's initial permissions. */