![[wl_lw_lock.png|64]]
Waiting to acquire a lightweight lock on a shared memory data structure. LWLocks are short-duration and protect internal Postgres data structures rather than user data. Unlike [[Lock]], they are not user-visible.
### System & Resource Management
![[AddinShmemInit]]
![[AutoFile]]
![[Autovacuum]]
![[AutovacuumSchedule]]
![[BackgroundWorker]]
![[MultiXactGen]]
![[OidGen]]
![[ReplicationOriginState]]
![[ShmemIndex]]
![[TablespaceCreate]]
![[TwoPhaseState]]
![[WrapLimitsVacuum]]
### Parallelism & DSA
![[LogicalRepLauncherDSA]]
![[LogicalRepLauncherHash]]
![[ParallelAppend]]
![[ParallelHashJoin]]
![[ParallelQueryDSA]]
![[PerSessionDSA]]
![[PerSessionRecordType]]
![[PerSessionRecordTypmod]]
![[PgStatsData]]
![[PgStatsDSA]]
![[PgStatsHash]]
### Locking & Transactions
![[LockFastPath]]
![[LockManager]]
![[OldSnapshotTimeMap]]
![[PerXactPredicateList]]
![[PredicateLockManager]]
![[ProcArray]]
![[SerializableFinishedList]]
![[SerializablePredicateList]]
![[SerializableXactHash]]
![[SInvalRead]]
![[SInvalWrite]]
![[XidGen]]
### Buffers, Maps & SLRU
![[BtreeVacuum]]
![[BufferContent]]
![[BufferMapping]]
![[CheckpointerComm]]
![[CommitTs]]
![[CommitTsBuffer]]
![[CommitTsSLRU]]
![[ControlFile]]
![[DynamicSharedMemoryControl]]
![[LogicalRepWorker]]
![[RelationMapping]]
![[RelCacheInit]]
![[SerialBuffer]]
![[SerialSLRU]]
![[SharedTidBitmap]]
![[SharedTupleStore]]
![[SubtransBuffer]]
![[SubtransSLRU]]
![[XactBuffer]]
![[XactSLRU]]
![[XactTruncation]]
### Replication & Sync
![[ReplicationOrigin]]
![[ReplicationSlotAllocation]]
![[ReplicationSlotControl]]
![[ReplicationSlotIO]]
![[SyncRep]]
![[SyncScan]]
### WAL
![[WALBufMapping]]
![[WALInsert]]
![[WALWrite]]
### MultiXact (also in IO)
![[MultiXactMemberBuffer]]
![[MultiXactMemberSLRU]]
![[MultiXactOffsetBuffer]]
![[MultiXactOffsetSLRU]]
![[MultiXactTruncation]]
### Notify (also in IO)
![[NotifyBuffer]]
![[NotifyQueue]]
![[NotifyQueueTail]]
![[NotifySLRU]]