Day: February 28, 2022

Enterprise PostgreSQL Solutions

1. Overview Recently, I was working on an internal issue related with buffer manager in PostgreSQL, and I saw a typical use of the Lightweight lock in buffer manager like below. 1 INIT_BUFFERTAG(newTag, smgr_rnode.node, forkNum, blockNum); 2 newHash = BufTableHashCode(&newTag); 3 newPartitionLock = BufMappingPartitionLock(newHash); 4 LWLockAcquire(newPartitionLock, LW_SHARED); 5 buf_id =