*** a/src/backend/storage/lmgr/lock.c --- b/src/backend/storage/lmgr/lock.c *************** *** 281,295 **** InitLocks(void) { HASHCTL info; int hash_flags; ! long init_table_size, ! max_table_size; /* * Compute init/max size to request for lock hashtables. Note these * calculations must agree with LockShmemSize! */ max_table_size = NLOCKENTS(); - init_table_size = max_table_size / 2; /* * Allocate hash table for LOCK structs. This stores per-locked-object --- 281,293 ---- { HASHCTL info; int hash_flags; ! long max_table_size; /* * Compute init/max size to request for lock hashtables. Note these * calculations must agree with LockShmemSize! */ max_table_size = NLOCKENTS(); /* * Allocate hash table for LOCK structs. This stores per-locked-object *************** *** 303,316 **** InitLocks(void) hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); LockMethodLockHash = ShmemInitHash("LOCK hash", ! init_table_size, max_table_size, &info, hash_flags); /* Assume an average of 2 holders per lock */ max_table_size *= 2; - init_table_size *= 2; /* * Allocate hash table for PROCLOCK structs. This stores --- 301,313 ---- hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); LockMethodLockHash = ShmemInitHash("LOCK hash", ! max_table_size, max_table_size, &info, hash_flags); /* Assume an average of 2 holders per lock */ max_table_size *= 2; /* * Allocate hash table for PROCLOCK structs. This stores *************** *** 323,329 **** InitLocks(void) hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); LockMethodProcLockHash = ShmemInitHash("PROCLOCK hash", ! init_table_size, max_table_size, &info, hash_flags); --- 320,326 ---- hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); LockMethodProcLockHash = ShmemInitHash("PROCLOCK hash", ! max_table_size, max_table_size, &info, hash_flags); *** a/src/backend/storage/lmgr/predicate.c --- b/src/backend/storage/lmgr/predicate.c *************** *** 959,966 **** InitPredicateLocks(void) { HASHCTL info; int hash_flags; ! long init_table_size, ! max_table_size; Size requestSize; bool found; --- 959,965 ---- { HASHCTL info; int hash_flags; ! long max_table_size; Size requestSize; bool found; *************** *** 969,975 **** InitPredicateLocks(void) * Note these calculations must agree with PredicateLockShmemSize! */ max_table_size = NPREDICATELOCKTARGETENTS(); - init_table_size = max_table_size / 2; /* * Allocate hash table for PREDICATELOCKTARGET structs. This stores --- 968,973 ---- *************** *** 983,996 **** InitPredicateLocks(void) hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); PredicateLockTargetHash = ShmemInitHash("PREDICATELOCKTARGET hash", ! init_table_size, max_table_size, &info, hash_flags); /* Assume an average of 2 xacts per target */ max_table_size *= 2; - init_table_size *= 2; /* * Reserve an entry in the hash table; we use it to make sure there's --- 981,993 ---- hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); PredicateLockTargetHash = ShmemInitHash("PREDICATELOCKTARGET hash", ! max_table_size, max_table_size, &info, hash_flags); /* Assume an average of 2 xacts per target */ max_table_size *= 2; /* * Reserve an entry in the hash table; we use it to make sure there's *************** *** 1014,1020 **** InitPredicateLocks(void) hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); PredicateLockHash = ShmemInitHash("PREDICATELOCK hash", ! init_table_size, max_table_size, &info, hash_flags); --- 1011,1017 ---- hash_flags = (HASH_ELEM | HASH_FUNCTION | HASH_PARTITION); PredicateLockHash = ShmemInitHash("PREDICATELOCK hash", ! max_table_size, max_table_size, &info, hash_flags);