diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index 919790943cb..82382d2595b 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -1239,6 +1239,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. */