Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jYKCp-00067r-4i for pgsql-docs@arkaria.postgresql.org; Tue, 12 May 2020 01:59:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jYKCo-0002ZT-2C for pgsql-docs@arkaria.postgresql.org; Tue, 12 May 2020 01:59:38 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jYKCn-0002ZM-Mv for pgsql-docs@lists.postgresql.org; Tue, 12 May 2020 01:59:37 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jYKCj-0006St-6a for pgsql-docs@lists.postgresql.org; Tue, 12 May 2020 01:59:37 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id 04C1xUBC010191 for ; Mon, 11 May 2020 21:59:30 -0400 From: Tom Lane To: pgsql-docs@lists.postgresql.org Subject: Re: Remaining PDF layout issues In-reply-to: <6916.1589146280@sss.pgh.pa.us> References: <6916.1589146280@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Sun, 10 May 2020 17:31:20 -0400" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Content-ID: <10146.1589248703.0@sss.pgh.pa.us> Date: Mon, 11 May 2020 21:59:30 -0400 Message-ID: <10190.1589248770@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk ------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <10146.1589248703.1@sss.pgh.pa.us> I wrote: > Table 27.4 is annoying: it could be made to work, just barely, with some > hacking of the column widths and a &zwsp; or two. But it's not stable > text so I have little faith in the longevity of such a solution, > especially if people keep on inventing long wait event names. I also > find it not very readable, even in a wide window. The first idea that > comes to mind is to split it into multiple tables, one per "Wait Event > Type", so that we don't need the lefthand column. Another idea is to > go over to a format similar to what I've proposed for catalog tables, > with entries like > Timeout / BaseBackupThrottle > Descriptive text here ... > Timeout / RecoveryApplyDelay > Descriptive text here ... Attached is a draft patch that does it the second way. This looks reasonably okay to me, although there's no denying that given a reasonably wide window, the existing layout requires less vertical space. But I'm not sure that matters: I have come to the conclusion, after studying this table, that nobody has ever yet looked at it. If they had, we would surely have gotten gripes about the fact that most of the entries are not in anything resembling alphabetical order. How in the world would anyone look something up in this? I have not changed the ordering in this patch, but I think it would be a good idea to fix it to be rigidly alphabetical (including the "type" part). BTW, for the purposes of this patch I just abused the func_table_entry/func_signature role values. We could invent new ones, but I'm not sure if it's worthwhile for just one table. regards, tom lane ------- =_aaaaaaaaaa0 Content-Type: text/x-diff; name="fix-wait-event-table.patch"; charset="us-ascii" Content-ID: <10146.1589248703.2@sss.pgh.pa.us> Content-Description: fix-wait-event-table.patch Content-Transfer-Encoding: quoted-printable diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 579ccd3..57d6716 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -909,912 +909,1794 @@ postgres 27093 0.0 0.0 30096 2752 ? = Ss 11:34 0:00 postgres: ser = <structname>wait_event</structname> Description + + + + + Wait Event Type / Wait Event Name + + + Description + + + = - - - - Wait Event Type - Wait Event Name - Description - - - - - - LWLock - ShmemIndexLock - Waiting to find or allocate space in shared memory. - - - OidGenLock - Waiting to allocate or assign an OID. - - - XidGenLock - Waiting to allocate or assign a transaction id. - - - ProcArrayLock - Waiting to get a snapshot or clearing a transaction id at - transaction end. - - - SInvalReadLock - Waiting to retrieve or remove messages from shared invali= dation - queue. - - - SInvalWriteLock - Waiting to add a message in shared invalidation queue. - - - WALBufMappingLock - Waiting to replace a page in WAL buffers. - - - WALWriteLock - Waiting for WAL buffers to be written to disk. - - - ControlFileLock - Waiting to read or update the control file or creation of= a - new WAL file. - - - CheckpointLock - Waiting to perform checkpoint. - - - CLogControlLock - Waiting to read or update transaction status. - - - SubtransControlLock - Waiting to read or update sub-transaction information. - - - MultiXactGenLock - Waiting to read or update shared multixact state. - - - MultiXactOffsetControlLock - Waiting to read or update multixact offset mappings. - - - MultiXactMemberControlLock - Waiting to read or update multixact member mappings. - - - RelCacheInitLock - Waiting to read or write relation cache initialization - file. - - - CheckpointerCommLock - Waiting to manage fsync requests. - - - TwoPhaseStateLock - Waiting to read or update the state of prepared transacti= ons. - - - TablespaceCreateLock - Waiting to create or drop the tablespace. - - - BtreeVacuumLock - Waiting to read or update vacuum-related information for= a - B-tree index. - - - AddinShmemInitLock - Waiting to manage space allocation in shared memory. - - - AutovacuumLock - Autovacuum worker or launcher waiting to update or - read the current state of autovacuum workers. - - - AutovacuumScheduleLock - Waiting to ensure that the table it has selected for a va= cuum - still needs vacuuming. - - - - SyncScanLock - Waiting to get the start location of a scan on a table fo= r - synchronized scans. - - - RelationMappingLock - Waiting to update the relation map file used to store cat= alog - to filenode mapping. - - - - AsyncCtlLock - Waiting to read or update shared notification state. - - - AsyncQueueLock - Waiting to read or update notification messages. - - - SerializableXactHashLock - Waiting to retrieve or store information about serializab= le - transactions. - - - SerializableFinishedListLock - Waiting to access the list of finished serializable - transactions. - - - SerializablePredicateLockListLock - Waiting to perform an operation on a list of locks held b= y - serializable transactions. - - - OldSerXidLock - Waiting to read or record conflicting serializable - transactions. - - - SyncRepLock - Waiting to read or update information about synchronous - replicas. - - - BackgroundWorkerLock - Waiting to read or update background worker state. - - - DynamicSharedMemoryControlLock - Waiting to read or update dynamic shared memory state. - - - AutoFileLock - Waiting to update the postgresql.auto.conf file. - - - ReplicationSlotAllocationLock - Waiting to allocate or free a replication slot. - - - ReplicationSlotControlLock - Waiting to read or update replication slot state. - - - CommitTsControlLock - Waiting to read or update transaction commit timestamps.<= /entry> - - - CommitTsLock - Waiting to read or update the last value set for the - transaction timestamp. - - - ReplicationOriginLock - Waiting to setup, drop or use replication origin. - - - MultiXactTruncationLock - Waiting to read or truncate multixact information. - - - OldSnapshotTimeMapLock - Waiting to read or update old snapshot control informatio= n. - - - LogicalRepWorkerLock - Waiting for action on logical replication worker to finis= h. - - - CLogTruncationLock - Waiting to execute pg_xact_status or= update - the oldest transaction id available to it. - - - clog - Waiting for I/O on a clog (transaction status) buffer. - - - commit_timestamp - Waiting for I/O on commit timestamp buffer. - - - subtrans - Waiting for I/O a subtransaction buffer. - - - multixact_offset - Waiting for I/O on a multixact offset buffer. - - - multixact_member - Waiting for I/O on a multixact_member buffer. - - - async - Waiting for I/O on an async (notify) buffer. - - - oldserxid - Waiting for I/O on an oldserxid buffer. - - - wal_insert - Waiting to insert WAL into a memory buffer. - - - buffer_content - Waiting to read or write a data page in memory. - - - buffer_io - Waiting for I/O on a data page. - - - replication_origin - Waiting to read or update the replication progress. - - - replication_slot_io - Waiting for I/O on a replication slot. - - - proc - Waiting to read or update the fast-path lock information.= - - - buffer_mapping - Waiting to associate a data block with a buffer in the bu= ffer - pool. - - - lock_manager - Waiting to add or examine locks for backends, or waiting = to - join or exit a locking group (used by parallel query). - - - predicate_lock_manager - Waiting to add or examine predicate lock information. - - - serializable_xact - Waiting to perform an operation on a serializable transac= tion - in a parallel query. - - - parallel_query_dsa - Waiting for parallel query dynamic shared memory allocati= on lock. - - - tbm - Waiting for TBM shared iterator lock. - - - parallel_append - Waiting to choose the next subplan during Parallel Append= plan - execution. - - - parallel_hash_join - Waiting to allocate or exchange a chunk of memory or upda= te - counters during Parallel Hash plan execution. - - - Lock - relation - Waiting to acquire a lock on a relation. - - - extend - Waiting to extend a relation. - - - page - Waiting to acquire a lock on page of a relation. - - - tuple - Waiting to acquire a lock on a tuple. - - - transactionid - Waiting for a transaction to finish. - - - virtualxid - Waiting to acquire a virtual xid lock. - - - speculative token - Waiting to acquire a speculative insertion lock. - - - object - Waiting to acquire a lock on a non-relation database obje= ct. - - - userlock - Waiting to acquire a user lock. - - - advisory - Waiting to acquire an advisory user lock. - - - BufferPin - BufferPin - Waiting to acquire a pin on a buffer. - - - Activity - ArchiverMain - Waiting in main loop of the archiver process. - - - AutoVacuumMain - Waiting in main loop of autovacuum launcher process. - - - BgWriterHibernate - Waiting in background writer process, hibernating. - - - BgWriterMain - Waiting in main loop of background writer process backgro= und worker. - - - CheckpointerMain - Waiting in main loop of checkpointer process. - - - LogicalApplyMain - Waiting in main loop of logical apply process. - - - LogicalLauncherMain - Waiting in main loop of logical launcher process. - - - PgStatMain - Waiting in main loop of the statistics collector process.= - - - RecoveryWalStream - Waiting for WAL from a stream at recovery. - - - SysLoggerMain - Waiting in main loop of syslogger process. - - - WalReceiverMain - Waiting in main loop of WAL receiver process. - - - WalSenderMain - Waiting in main loop of WAL sender process. - - - WalWriterMain - Waiting in main loop of WAL writer process. - - - Client - ClientRead - Waiting to read data from the client. - - - ClientWrite - Waiting to write data to the client. - - - GSSOpenServer - Waiting to read data from the client while establishing t= he GSSAPI session. - - - LibPQWalReceiverConnect - Waiting in WAL receiver to establish connection to remote= server. - - - LibPQWalReceiverReceive - Waiting in WAL receiver to receive data from remote serve= r. - - - SSLOpenServer - Waiting for SSL while attempting connection. - - - WalReceiverWaitStart - Waiting for startup process to send initial data for stre= aming replication. - - - WalSenderWaitForWAL - Waiting for WAL to be flushed in WAL sender process. - - - WalSenderWriteData - Waiting for any activity when processing replies from WAL= receiver in WAL sender process. - - - Extension - Extension - Waiting in an extension. - - - IPC - BackupWaitWalArchive - Waiting for WAL files required for the backup to be succe= ssfully archived. - - - BgWorkerShutdown - Waiting for background worker to shut down. - - - BgWorkerStartup - Waiting for background worker to start up. - - - BtreePage - Waiting for the page number needed to continue a parallel= B-tree scan to become available. - - - CheckpointDone - Waiting for a checkpoint to complete. - - - CheckpointStart - Waiting for a checkpoint to start. - - - ClogGroupUpdate - Waiting for group leader to update transaction status at = transaction end. - - - ExecuteGather - Waiting for activity from child process when executing Gather node. - - - Hash/Batch/Allocating - Waiting for an elected Parallel Hash participant to allo= cate a hash table. - - - Hash/Batch/Electing - Electing a Parallel Hash participant to allocate a hash = table. - - - Hash/Batch/Loading - Waiting for other Parallel Hash participants to finish l= oading a hash table. - - - Hash/Build/Allocating - Waiting for an elected Parallel Hash participant to allo= cate the initial hash table. - - - Hash/Build/Electing - Electing a Parallel Hash participant to allocate the ini= tial hash table. - - - Hash/Build/HashingInner - Waiting for other Parallel Hash participants to finish h= ashing the inner relation. - - - Hash/Build/HashingOuter - Waiting for other Parallel Hash participants to finish p= artitioning the outer relation. - - - Hash/GrowBatches/Allocating - Waiting for an elected Parallel Hash participant to allo= cate more batches. - - - Hash/GrowBatches/Deciding - Electing a Parallel Hash participant to decide on future= batch growth. - - - Hash/GrowBatches/Electing - Electing a Parallel Hash participant to allocate more ba= tches. - - - Hash/GrowBatches/Finishing - Waiting for an elected Parallel Hash participant to deci= de on future batch growth. - - - Hash/GrowBatches/Repartitioning - Waiting for other Parallel Hash participants to finishin= g repartitioning. - - - Hash/GrowBuckets/Allocating - Waiting for an elected Parallel Hash participant to fini= sh allocating more buckets. - - - Hash/GrowBuckets/Electing - Electing a Parallel Hash participant to allocate more bu= ckets. - - - Hash/GrowBuckets/Reinserting - Waiting for other Parallel Hash participants to finish i= nserting tuples into new buckets. - - - LogicalSyncData - Waiting for logical replication remote server to send dat= a for initial table synchronization. - - - LogicalSyncStateChange - Waiting for logical replication remote server to change s= tate. - - - MessageQueueInternal - Waiting for other process to be attached in shared messag= e queue. - - - MessageQueuePutMessage - Waiting to write a protocol message to a shared message q= ueue. - - - MessageQueueReceive - Waiting to receive bytes from a shared message queue. - - - MessageQueueSend - Waiting to send bytes to a shared message queue. - - - ParallelBitmapScan - Waiting for parallel bitmap scan to become initialized. - - - ParallelCreateIndexScan - Waiting for parallel CREATE INDEX work= ers to finish heap scan. - - - ParallelFinish - Waiting for parallel workers to finish computing. - - - ProcArrayGroupUpdate - Waiting for group leader to clear transaction id at trans= action end. - - - Promote - Waiting for standby promotion. - - - RecoveryConflictSnapshot - Waiting for recovery conflict resolution on a vacuum clea= nup. - - - RecoveryConflictTablespace - Waiting for recovery conflict resolution on dropping tabl= espace. - - - RecoveryPause - Waiting for recovery to be resumed. - - - ReplicationOriginDrop - Waiting for a replication origin to become inactive to be= dropped. - - - ReplicationSlotDrop - Waiting for a replication slot to become inactive to be d= ropped. - - - SafeSnapshot - Waiting for a snapshot for a READ ONLY DEFERRABL= E transaction. - - - SyncRep - Waiting for confirmation from remote server during synchr= onous replication. - - - Timeout - BaseBackupThrottle - Waiting during base backup when throttling activity. - - - PgSleep - Waiting in process that called pg_sleep. - - - RecoveryApplyDelay - Waiting to apply WAL at recovery because it is delayed. - - - RecoveryRetrieveRetryInterval - - Waiting when WAL data is not available from any kind of sources - (pg_wal, archive or stream) before trying - again to retrieve WAL data, at recovery. - - - - VacuumDelay - Waiting in a cost-based vacuum delay point. - - - IO - BufFileRead - Waiting for a read from a buffered file. - - - BufFileWrite - Waiting for a write to a buffered file. - - - ControlFileRead - Waiting for a read from the control file. - - - ControlFileSync - Waiting for the control file to reach stable storage. - - - ControlFileSyncUpdate - Waiting for an update to the control file to reach stable= storage. - - - ControlFileWrite - Waiting for a write to the control file. - - - ControlFileWriteUpdate - Waiting for a write to update the control file. - - - CopyFileRead - Waiting for a read during a file copy operation. - - - CopyFileWrite - Waiting for a write during a file copy operation. - - - DataFileExtend - Waiting for a relation data file to be extended. - - - DataFileFlush - Waiting for a relation data file to reach stable storage.= - - - DataFileImmediateSync - Waiting for an immediate synchronization of a relation da= ta file to stable storage. - - - DataFilePrefetch - Waiting for an asynchronous prefetch from a relation data= file. - - - DataFileRead - Waiting for a read from a relation data file. - - - DataFileSync - Waiting for changes to a relation data file to reach stab= le storage. - - - DataFileTruncate - Waiting for a relation data file to be truncated. - - - DataFileWrite - Waiting for a write to a relation data file. - - - DSMFillZeroWrite - Waiting to write zero bytes to a dynamic shared memory ba= cking file. - - - LockFileAddToDataDirRead - Waiting for a read while adding a line to the data direct= ory lock file. - - - LockFileAddToDataDirSync - Waiting for data to reach stable storage while adding a l= ine to the data directory lock file. - - - LockFileAddToDataDirWrite - Waiting for a write while adding a line to the data direc= tory lock file. - - - LockFileCreateRead - Waiting to read while creating the data directory lock fi= le. - - - LockFileCreateSync - Waiting for data to reach stable storage while creating t= he data directory lock file. - - - LockFileCreateWrite - Waiting for a write while creating the data directory loc= k file. - - - LockFileReCheckDataDirRead - Waiting for a read during recheck of the data directory l= ock file. - - - LogicalRewriteCheckpointSync - Waiting for logical rewrite mappings to reach stable stor= age during a checkpoint. - - - LogicalRewriteMappingSync - Waiting for mapping data to reach stable storage during a= logical rewrite. - - - LogicalRewriteMappingWrite - Waiting for a write of mapping data during a logical rewr= ite. - - - LogicalRewriteSync - Waiting for logical rewrite mappings to reach stable stor= age. - - - LogicalRewriteTruncate - Waiting for truncate of mapping data during a logical rew= rite. - - - LogicalRewriteWrite - Waiting for a write of logical rewrite mappings. - - - ProcSignalBarrier - Waiting for a barrier event to be processed by all backen= ds. - - - RelationMapRead - Waiting for a read of the relation map file. - - - RelationMapSync - Waiting for the relation map file to reach stable storage= . - - - RelationMapWrite - Waiting for a write to the relation map file. - - - ReorderBufferRead - Waiting for a read during reorder buffer management. - - - ReorderBufferWrite - Waiting for a write during reorder buffer management. - - - ReorderLogicalMappingRead - Waiting for a read of a logical mapping during reorder bu= ffer management. - - - ReplicationSlotRead - Waiting for a read from a replication slot control file.<= /entry> - - - ReplicationSlotRestoreSync - Waiting for a replication slot control file to reach stab= le storage while restoring it to memory. - - - ReplicationSlotSync - Waiting for a replication slot control file to reach stab= le storage. - - - ReplicationSlotWrite - Waiting for a write to a replication slot control file. - - - SLRUFlushSync - Waiting for SLRU data to reach stable storage during a ch= eckpoint or database shutdown. - - - SLRURead - Waiting for a read of an SLRU page. - - - SLRUSync - Waiting for SLRU data to reach stable storage following a= page write. - - - SLRUWrite - Waiting for a write of an SLRU page. - - - SnapbuildRead - Waiting for a read of a serialized historical catalog sna= pshot. - - - SnapbuildSync - Waiting for a serialized historical catalog snapshot to r= each stable storage. - - - SnapbuildWrite - Waiting for a write of a serialized historical catalog sn= apshot. - - - TimelineHistoryFileSync - Waiting for a timeline history file received via streamin= g replication to reach stable storage. - - - TimelineHistoryFileWrite - Waiting for a write of a timeline history file received v= ia streaming replication. - - - TimelineHistoryRead - Waiting for a read of a timeline history file. - - - TimelineHistorySync - Waiting for a newly created timeline history file to reac= h stable storage. - - - TimelineHistoryWrite - Waiting for a write of a newly created timeline history f= ile. - - - TwophaseFileRead - Waiting for a read of a two phase state file. - - - TwophaseFileSync - Waiting for a two phase state file to reach stable storag= e. - - - TwophaseFileWrite - Waiting for a write of a two phase state file. - - - WALBootstrapSync - Waiting for WAL to reach stable storage during bootstrapp= ing. - - - WALBootstrapWrite - Waiting for a write of a WAL page during bootstrapping. - - - WALCopyRead - Waiting for a read when creating a new WAL segment by cop= ying an existing one. - - - WALCopySync - Waiting a new WAL segment created by copying an existing = one to reach stable storage. - - - WALCopyWrite - Waiting for a write when creating a new WAL segment by co= pying an existing one. - - - WALInitSync - Waiting for a newly initialized WAL file to reach stable = storage. - - - WALInitWrite - Waiting for a write while initializing a new WAL file. - - - WALRead - Waiting for a read from a WAL file. - - - WALSenderTimelineHistoryRead - Waiting for a read from a timeline history file during wa= lsender timeline command. - - - WALSync - Waiting for a WAL file to reach stable storage. - - - WALSyncMethodAssign - Waiting for data to reach stable storage while assigning = WAL sync method. - - - WALWrite - Waiting for a write to a WAL file. - - - -
+ + + + LWLock / ShmemIndexLock + + + Waiting to find or allocate space in shared memory. + + + + + LWLock / OidGenLock + + + Waiting to allocate or assign an OID. + + + + + LWLock / XidGenLock + + + Waiting to allocate or assign a transaction id. + + + + + LWLock / ProcArrayLock + + + Waiting to get a snapshot or clearing a transaction id at + transaction end. + + + + + LWLock / SInvalReadLock + + + Waiting to retrieve or remove messages from shared invalidation + queue. + + + + + LWLock / SInvalWriteLock + + + Waiting to add a message in shared invalidation queue. + + + + + LWLock / WALBufMappingLock + + + Waiting to replace a page in WAL buffers. + + + + + LWLock / WALWriteLock + + + Waiting for WAL buffers to be written to disk. + + + + + LWLock / ControlFileLock + + + Waiting to read or update the control file or creation of a + new WAL file. + + + + + LWLock / CheckpointLock + + + Waiting to perform checkpoint. + + + + + LWLock / CLogControlLock + + + Waiting to read or update transaction status. + + + + + LWLock / SubtransControlLock + + + Waiting to read or update sub-transaction information. + + + + + LWLock / MultiXactGenLock + + + Waiting to read or update shared multixact state. + + + + + LWLock / MultiXactOffsetControlLock + + + Waiting to read or update multixact offset mappings. + + + + + LWLock / MultiXactMemberControlLock + + + Waiting to read or update multixact member mappings. + + + + + LWLock / RelCacheInitLock + + + Waiting to read or write relation cache initialization file. + + + + + LWLock / CheckpointerCommLock + + + Waiting to manage fsync requests. + + + + + LWLock / TwoPhaseStateLock + + + Waiting to read or update the state of prepared transactions. + + + + + LWLock / TablespaceCreateLock + + + Waiting to create or drop the tablespace. + + + + + LWLock / BtreeVacuumLock + + + Waiting to read or update vacuum-related information for a + B-tree index. + + + + + LWLock / AddinShmemInitLock + + + Waiting to manage space allocation in shared memory. + + + + + LWLock / AutovacuumLock + + + Autovacuum worker or launcher waiting to update or + read the current state of autovacuum workers. + + + + + LWLock / AutovacuumScheduleLock + + + Waiting to ensure that the table selected for a vacuum + still needs vacuuming. + + + + + LWLock / SyncScanLock + + + Waiting to get the start location of a scan on a table for + synchronized scans. + + + + + LWLock / RelationMappingLock + + + Waiting to update the relation map file used to store catalog + to filenode mapping. + + + + + LWLock / AsyncCtlLock + + + Waiting to read or update shared notification state. + + + + + LWLock / AsyncQueueLock + + + Waiting to read or update notification messages. + + + + + LWLock / SerializableXactHashLock + + + Waiting to retrieve or store information about serializable + transactions. + + + + + LWLock / SerializableFinishedListLock= + + + Waiting to access the list of finished serializable + transactions. + + + + + LWLock / SerializablePredicateLockLis= tLock + + + Waiting to perform an operation on a list of locks held by + serializable transactions. + + + + + LWLock / OldSerXidLock + + + Waiting to read or record conflicting serializable + transactions. + + + + + LWLock / SyncRepLock + + + Waiting to read or update information about synchronous + replicas. + + + + + LWLock / BackgroundWorkerLock + + + Waiting to read or update background worker state. + + + + + LWLock / DynamicSharedMemoryControlLo= ck + + + Waiting to read or update dynamic shared memory state. + + + + + LWLock / AutoFileLock + + + Waiting to update the postgresql.auto.conf f= ile. + + + + + LWLock / ReplicationSlotAllocationLoc= k + + + Waiting to allocate or free a replication slot. + + + + + LWLock / ReplicationSlotControlLock + + + Waiting to read or update replication slot state. + + + + + LWLock / CommitTsControlLock + + + Waiting to read or update transaction commit timestamps. + + + + + LWLock / CommitTsLock + + + Waiting to read or update the last value set for the + transaction timestamp. + + + + + LWLock / ReplicationOriginLock + + + Waiting to setup, drop or use replication origin. + + + + + LWLock / MultiXactTruncationLock + + + Waiting to read or truncate multixact information. + + + + + LWLock / OldSnapshotTimeMapLock + + + Waiting to read or update old snapshot control information. + + + + + LWLock / LogicalRepWorkerLock + + + Waiting for action on logical replication worker to finish. + + + + + LWLock / CLogTruncationLock + + + Waiting to execute pg_xact_status or update + the oldest transaction id available to it. + + + + + LWLock / clog + + + Waiting for I/O on a clog (transaction status) buffer. + + + + + LWLock / commit_timestamp + + + Waiting for I/O on commit timestamp buffer. + + + + + LWLock / subtrans + + + Waiting for I/O on a subtransaction buffer. + + + + + LWLock / multixact_offset + + + Waiting for I/O on a multixact offset buffer. + + + + + LWLock / multixact_member + + + Waiting for I/O on a multixact_member buffer. + + + + + LWLock / async + + + Waiting for I/O on an async (notify) buffer. + + + + + LWLock / oldserxid + + + Waiting for I/O on an oldserxid buffer. + + + + + LWLock / wal_insert + + + Waiting to insert WAL into a memory buffer. + + + + + LWLock / buffer_content + + + Waiting to read or write a data page in memory. + + + + + LWLock / buffer_io + + + Waiting for I/O on a data page. + + + + + LWLock / replication_origin + + + Waiting to read or update the replication progress. + + + + + LWLock / replication_slot_io + + + Waiting for I/O on a replication slot. + + + + + LWLock / proc + + + Waiting to read or update the fast-path lock information. + + + + + LWLock / buffer_mapping + + + Waiting to associate a data block with a buffer in the buffer + pool. + + + + + LWLock / lock_manager + + + Waiting to add or examine locks for backends, or waiting to + join or exit a locking group (used by parallel query). + + + + + LWLock / predicate_lock_manager + + + Waiting to add or examine predicate lock information. + + + + + LWLock / serializable_xact + + + Waiting to perform an operation on a serializable transaction + in a parallel query. + + + + + LWLock / parallel_query_dsa + + + Waiting for parallel query dynamic shared memory allocation lock. + + + + + LWLock / tbm + + + Waiting for TBM shared iterator lock. + + + + + LWLock / parallel_append + + + Waiting to choose the next subplan during Parallel Append plan + execution. + + + + + LWLock / parallel_hash_join + + + Waiting to allocate or exchange a chunk of memory or update + counters during Parallel Hash plan execution. + + + + + Lock / relation + + + Waiting to acquire a lock on a relation. + + + + + Lock / extend + + + Waiting to extend a relation. + + + + + Lock / page + + + Waiting to acquire a lock on page of a relation. + + + + + Lock / tuple + + + Waiting to acquire a lock on a tuple. + + + + + Lock / transactionid + + + Waiting for a transaction to finish. + + + + + Lock / virtualxid + + + Waiting to acquire a virtual xid lock. + + + + + Lock / speculative token + + + Waiting to acquire a speculative insertion lock. + + + + + Lock / object + + + Waiting to acquire a lock on a non-relation database object. + + + + + Lock / userlock + + + Waiting to acquire a user lock. + + + + + Lock / advisory + + + Waiting to acquire an advisory user lock. + + + + + BufferPin / BufferPin + + + Waiting to acquire a pin on a buffer. + + + + + Activity / ArchiverMain + + + Waiting in main loop of the archiver process. + + + + + Activity / AutoVacuumMain + + + Waiting in main loop of autovacuum launcher process. + + + + + Activity / BgWriterHibernate + + + Waiting in background writer process, hibernating. + + + + + Activity / BgWriterMain + + + Waiting in main loop of background writer process background work= er. + + + + + Activity / CheckpointerMain + + + Waiting in main loop of checkpointer process. + + + + + Activity / LogicalApplyMain + + + Waiting in main loop of logical apply process. + + + + + Activity / LogicalLauncherMain + + + Waiting in main loop of logical launcher process. + + + + + Activity / PgStatMain + + + Waiting in main loop of the statistics collector process. + + + + + Activity / RecoveryWalStream + + + Waiting for WAL from a stream at recovery. + + + + + Activity / SysLoggerMain + + + Waiting in main loop of syslogger process. + + + + + Activity / WalReceiverMain + + + Waiting in main loop of WAL receiver process. + + + + + Activity / WalSenderMain + + + Waiting in main loop of WAL sender process. + + + + + Activity / WalWriterMain + + + Waiting in main loop of WAL writer process. + + + + + Client / ClientRead + + + Waiting to read data from the client. + + + + + Client / ClientWrite + + + Waiting to write data to the client. + + + + + Client / GSSOpenServer + + + Waiting to read data from the client while establishing the GSSAP= I + session. + + + + + Client / LibPQWalReceiverConnect + + + Waiting in WAL receiver to establish connection to remote server. + + + + + Client / LibPQWalReceiverReceive + + + Waiting in WAL receiver to receive data from remote server. + + + + + Client / SSLOpenServer + + + Waiting for SSL while attempting connection. + + + + + Client / WalReceiverWaitStart + + + Waiting for startup process to send initial data for streaming + replication. + + + + + Client / WalSenderWaitForWAL + + + Waiting for WAL to be flushed in WAL sender process. + + + + + Client / WalSenderWriteData + + + Waiting for any activity when processing replies from WAL receive= r in + WAL sender process. + + + + + Extension / Extension + + + Waiting in an extension. + + + + + IPC / BackupWaitWalArchive + + + Waiting for WAL files required for the backup to be successfully + archived. + + + + + IPC / BgWorkerShutdown + + + Waiting for background worker to shut down. + + + + + IPC / BgWorkerStartup + + + Waiting for background worker to start up. + + + + + IPC / BtreePage + + + Waiting for the page number needed to continue a parallel B-tree = scan + to become available. + + + + + IPC / CheckpointDone + + + Waiting for a checkpoint to complete. + + + + + IPC / CheckpointStart + + + Waiting for a checkpoint to start. + + + + + IPC / ClogGroupUpdate + + + Waiting for group leader to update transaction status at transact= ion + end. + + + + + IPC / ExecuteGather + + + Waiting for activity from child process while + executing Gather node. + + + + + IPC / Hash/Batch/Allocating + + + Waiting for an elected Parallel Hash participant to allocate a ha= sh + table. + + + + + IPC / Hash/Batch/Electing + + + Electing a Parallel Hash participant to allocate a hash table. + + + + + IPC / Hash/Batch/Loading + + + Waiting for other Parallel Hash participants to finish loading a = hash + table. + + + + + IPC / Hash/Build/Allocating + + + Waiting for an elected Parallel Hash participant to allocate the + initial hash table. + + + + + IPC / Hash/Build/Electing + + + Electing a Parallel Hash participant to allocate the initial hash= table. + + + + + IPC / Hash/Build/HashingInner + + + Waiting for other Parallel Hash participants to finish hashing th= e + inner relation. + + + + + IPC / Hash/Build/HashingOuter + + + Waiting for other Parallel Hash participants to finish partitioni= ng + the outer relation. + + + + + IPC / Hash/GrowBatches/Allocating + + + Waiting for an elected Parallel Hash participant to allocate more + batches. + + + + + IPC / Hash/GrowBatches/Deciding + + + Electing a Parallel Hash participant to decide on future batch gr= owth. + + + + + IPC / Hash/GrowBatches/Electing + + + Electing a Parallel Hash participant to allocate more batches. + + + + + IPC / Hash/GrowBatches/Finishing + + + Waiting for an elected Parallel Hash participant to decide on fut= ure + batch growth. + + + + + IPC / Hash/GrowBatches/Repartitioning= + + + Waiting for other Parallel Hash participants to finishing + repartitioning. + + + + + IPC / Hash/GrowBuckets/Allocating + + + Waiting for an elected Parallel Hash participant to finish alloca= ting + more buckets. + + + + + IPC / Hash/GrowBuckets/Electing + + + Electing a Parallel Hash participant to allocate more buckets. + + + + + IPC / Hash/GrowBuckets/Reinserting + + + Waiting for other Parallel Hash participants to finish inserting + tuples into new buckets. + + + + + IPC / LogicalSyncData + + + Waiting for logical replication remote server to send data for in= itial + table synchronization. + + + + + IPC / LogicalSyncStateChange + + + Waiting for logical replication remote server to change state. + + + + + IPC / MessageQueueInternal + + + Waiting for other process to be attached in shared message queue. + + + + + IPC / MessageQueuePutMessage + + + Waiting to write a protocol message to a shared message queue. + + + + + IPC / MessageQueueReceive + + + Waiting to receive bytes from a shared message queue. + + + + + IPC / MessageQueueSend + + + Waiting to send bytes to a shared message queue. + + + + + IPC / ParallelBitmapScan + + + Waiting for parallel bitmap scan to become initialized. + + + + + IPC / ParallelCreateIndexScan + + + Waiting for parallel CREATE INDEX workers to f= inish + heap scan. + + + + + IPC / ParallelFinish + + + Waiting for parallel workers to finish computing. + + + + + IPC / ProcArrayGroupUpdate + + + Waiting for group leader to clear transaction id at transaction e= nd. + + + + + IPC / Promote + + + Waiting for standby promotion. + + + + + IPC / RecoveryConflictSnapshot + + + Waiting for recovery conflict resolution on a vacuum cleanup. + + + + + IPC / RecoveryConflictTablespace + + + Waiting for recovery conflict resolution on dropping tablespace. + + + + + IPC / RecoveryPause + + + Waiting for recovery to be resumed. + + + + + IPC / ReplicationOriginDrop + + + Waiting for a replication origin to become inactive to be dropped= . + + + + + IPC / ReplicationSlotDrop + + + Waiting for a replication slot to become inactive to be dropped. + + + + + IPC / SafeSnapshot + + + Waiting for a snapshot for a READ ONLY DEFERRABLE + transaction. + + + + + IPC / SyncRep + + + Waiting for confirmation from remote server during synchronous + replication. + + + + + Timeout / BaseBackupThrottle + + + Waiting during base backup when throttling activity. + + + + + Timeout / PgSleep + + + Waiting in process that called pg_sleep. + + + + + Timeout / RecoveryApplyDelay + + + Waiting to apply WAL at recovery because it is delayed. + + + + + Timeout / RecoveryRetrieveRetryInterv= al + + + Waiting when WAL data is not available from any kind of sources + (pg_wal, archive or stream) before trying + again to retrieve WAL data, at recovery. + + + + + Timeout / VacuumDelay + + + Waiting in a cost-based vacuum delay point. + + + + + IO / BufFileRead + + + Waiting for a read from a buffered file. + + + + + IO / BufFileWrite + + + Waiting for a write to a buffered file. + + + + + IO / ControlFileRead + + + Waiting for a read from the control file. + + + + + IO / ControlFileSync + + + Waiting for the control file to reach stable storage. + + + + + IO / ControlFileSyncUpdate + + + Waiting for an update to the control file to reach stable storage= . + + + + + IO / ControlFileWrite + + + Waiting for a write to the control file. + + + + + IO / ControlFileWriteUpdate + + + Waiting for a write to update the control file. + + + + + IO / CopyFileRead + + + Waiting for a read during a file copy operation. + + + + + IO / CopyFileWrite + + + Waiting for a write during a file copy operation. + + + + + IO / DataFileExtend + + + Waiting for a relation data file to be extended. + + + + + IO / DataFileFlush + + + Waiting for a relation data file to reach stable storage. + + + + + IO / DataFileImmediateSync + + + Waiting for an immediate synchronization of a relation data file = to + stable storage. + + + + + IO / DataFilePrefetch + + + Waiting for an asynchronous prefetch from a relation data file. + + + + + IO / DataFileRead + + + Waiting for a read from a relation data file. + + + + + IO / DataFileSync + + + Waiting for changes to a relation data file to reach stable stora= ge. + + + + + IO / DataFileTruncate + + + Waiting for a relation data file to be truncated. + + + + + IO / DataFileWrite + + + Waiting for a write to a relation data file. + + + + + IO / DSMFillZeroWrite + + + Waiting to write zero bytes to a dynamic shared memory backing fi= le. + + + + + IO / LockFileAddToDataDirRead + + + Waiting for a read while adding a line to the data directory lock= file. + + + + + IO / LockFileAddToDataDirSync + + + Waiting for data to reach stable storage while adding a line to t= he + data directory lock file. + + + + + IO / LockFileAddToDataDirWrite + + + Waiting for a write while adding a line to the data directory loc= k file. + + + + + IO / LockFileCreateRead + + + Waiting to read while creating the data directory lock file. + + + + + IO / LockFileCreateSync + + + Waiting for data to reach stable storage while creating the data + directory lock file. + + + + + IO / LockFileCreateWrite + + + Waiting for a write while creating the data directory lock file. + + + + + IO / LockFileReCheckDataDirRead + + + Waiting for a read during recheck of the data directory lock file= . + + + + + IO / LogicalRewriteCheckpointSync + + + Waiting for logical rewrite mappings to reach stable storage duri= ng a + checkpoint. + + + + + IO / LogicalRewriteMappingSync + + + Waiting for mapping data to reach stable storage during a logical + rewrite. + + + + + IO / LogicalRewriteMappingWrite + + + Waiting for a write of mapping data during a logical rewrite. + + + + + IO / LogicalRewriteSync + + + Waiting for logical rewrite mappings to reach stable storage. + + + + + IO / LogicalRewriteTruncate + + + Waiting for truncate of mapping data during a logical rewrite. + + + + + IO / LogicalRewriteWrite + + + Waiting for a write of logical rewrite mappings. + + + + + IO / ProcSignalBarrier + + + Waiting for a barrier event to be processed by all backends. + + + + + IO / RelationMapRead + + + Waiting for a read of the relation map file. + + + + + IO / RelationMapSync + + + Waiting for the relation map file to reach stable storage. + + + + + IO / RelationMapWrite + + + Waiting for a write to the relation map file. + + + + + IO / ReorderBufferRead + + + Waiting for a read during reorder buffer management. + + + + + IO / ReorderBufferWrite + + + Waiting for a write during reorder buffer management. + + + + + IO / ReorderLogicalMappingRead + + + Waiting for a read of a logical mapping during reorder buffer + management. + + + + + IO / ReplicationSlotRead + + + Waiting for a read from a replication slot control file. + + + + + IO / ReplicationSlotRestoreSync + + + Waiting for a replication slot control file to reach stable stora= ge + while restoring it to memory. + + + + + IO / ReplicationSlotSync + + + Waiting for a replication slot control file to reach stable stora= ge. + + + + + IO / ReplicationSlotWrite + + + Waiting for a write to a replication slot control file. + + + + + IO / SLRUFlushSync + + + Waiting for SLRU data to reach stable storage during a checkpoint= or + database shutdown. + + + + + IO / SLRURead + + + Waiting for a read of an SLRU page. + + + + + IO / SLRUSync + + + Waiting for SLRU data to reach stable storage following a page wr= ite. + + + + + IO / SLRUWrite + + + Waiting for a write of an SLRU page. + + + + + IO / SnapbuildRead + + + Waiting for a read of a serialized historical catalog snapshot. + + + + + IO / SnapbuildSync + + + Waiting for a serialized historical catalog snapshot to reach sta= ble + storage. + + + + + IO / SnapbuildWrite + + + Waiting for a write of a serialized historical catalog snapshot. + + + + + IO / TimelineHistoryFileSync + + + Waiting for a timeline history file received via streaming replic= ation + to reach stable storage. + + + + + IO / TimelineHistoryFileWrite + + + Waiting for a write of a timeline history file received via strea= ming + replication. + + + + + IO / TimelineHistoryRead + + + Waiting for a read of a timeline history file. + + + + + IO / TimelineHistorySync + + + Waiting for a newly created timeline history file to reach stable + storage. + + + + + IO / TimelineHistoryWrite + + + Waiting for a write of a newly created timeline history file. + + + + + IO / TwophaseFileRead + + + Waiting for a read of a two phase state file. + + + + + IO / TwophaseFileSync + + + Waiting for a two phase state file to reach stable storage. + + + + + IO / TwophaseFileWrite + + + Waiting for a write of a two phase state file. + + + + + IO / WALBootstrapSync + + + Waiting for WAL to reach stable storage during bootstrapping. + + + + + IO / WALBootstrapWrite + + + Waiting for a write of a WAL page during bootstrapping. + + + + + IO / WALCopyRead + + + Waiting for a read when creating a new WAL segment by copying an + existing one. + + + + + IO / WALCopySync + + + Waiting for a new WAL segment created by copying an existing one = to + reach stable storage. + + + + + IO / WALCopyWrite + + + Waiting for a write when creating a new WAL segment by copying an + existing one. + + + + + IO / WALInitSync + + + Waiting for a newly initialized WAL file to reach stable storage. + + + + + IO / WALInitWrite + + + Waiting for a write while initializing a new WAL file. + + + + + IO / WALRead + + + Waiting for a read from a WAL file. + + + + + IO / WALSenderTimelineHistoryRead + + + Waiting for a read from a timeline history file during walsender + timeline command. + + + + + IO / WALSync + + + Waiting for a WAL file to reach stable storage. + + + + + IO / WALSyncMethodAssign + + + Waiting for data to reach stable storage while assigning WAL sync + method. + + + + + IO / WALWrite + + + Waiting for a write to a WAL file. + + + + + = ------- =_aaaaaaaaaa0--