From 6e32a44cf27ddde43445a67a2b3f5e2adad6170c Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 5 Sep 2023 14:39:58 +0900 Subject: [PATCH v6 2/2] Remove column for wait event names in wait_event_names.txt This file is now made of two columns, removing the column listing the descriptions for each wait event class: - Typedef enum definition, without the prefix "WAIT_EVENT_", for simplicity. - Description in the documentation. The wait event names are generated from the enum objects in camelcase, with the underscores removed. --- .../activity/generate-wait_event_types.pl | 40 +- .../utils/activity/wait_event_names.txt | 502 +++++++++--------- 2 files changed, 279 insertions(+), 263 deletions(-) 100.0% src/backend/utils/activity/ diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/backend/utils/activity/generate-wait_event_types.pl index 23eb3b1f57..046be2cb70 100644 --- a/src/backend/utils/activity/generate-wait_event_types.pl +++ b/src/backend/utils/activity/generate-wait_event_types.pl @@ -65,29 +65,45 @@ while (<$wait_event_names>) push(@lines, $section_name . "\t" . $_); } -# Sort the lines based on the third column. +# Sort the lines based on the second column. # uc() is being used to force the comparison to be case-insensitive. my @lines_sorted = - sort { uc((split(/\t/, $a))[2]) cmp uc((split(/\t/, $b))[2]) } @lines; + sort { uc((split(/\t/, $a))[1]) cmp uc((split(/\t/, $b))[1]) } @lines; # Read the sorted lines and populate the hash table foreach my $line (@lines_sorted) { die "unable to parse wait_event_names.txt for line $line\n" - unless $line =~ /^(\w+)\t+(\w+)\t+(\w+)\t+("\w.*\.")$/; + unless $line =~ /^(\w+)\t+(\w+)\t+("\w.*\.")$/; - ( my $waitclassname, - my $waiteventenumname, - my $waiteventdescription, - my $waitevendocsentence) = split(/\t/, $line); + (my $waitclassname, my $waiteventname, my $waitevendocsentence) = + split(/\t/, $line); + # Generate the element name for the enums based on the + # description. The C symbols are prefixed with "WAIT_EVENT_". + my $waiteventenumname = "WAIT_EVENT_$waiteventname"; + + # Build the descriptions. These are in camel-case. + # LWLock and Lock classes do not need any modifications. + my $waiteventdescription = ''; + if ( $waitclassname eq 'WaitEventLWLock' + || $waitclassname eq 'WaitEventLock') + { + $waiteventdescription = $waiteventname; + } + else + { + my @waiteventparts = split("_", $waiteventname); + foreach my $waiteventpart (@waiteventparts) + { + $waiteventdescription .= substr($waiteventpart, 0, 1) + . lc(substr($waiteventpart, 1, length($waiteventpart))); + } + } + + # Store the event into the list for each class. my @waiteventlist = [ $waiteventenumname, $waiteventdescription, $waitevendocsentence ]; - my $trimmedwaiteventname = $waiteventenumname; - $trimmedwaiteventname =~ s/^WAIT_EVENT_//; - - die "wait event names must start with 'WAIT_EVENT_'" - if ($trimmedwaiteventname eq $waiteventenumname); push(@{ $hashwe{$waitclassname} }, @waiteventlist); } diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt index ca28d9e764..9c5fdeb3ca 100644 --- a/src/backend/utils/activity/wait_event_names.txt +++ b/src/backend/utils/activity/wait_event_names.txt @@ -7,6 +7,11 @@ # This list serves as the basis for generating source and documentation files # related to wait events. # +# This file defines one wait event per line, with the following +# tab-separated fields: +# +# "Typedef enum definitions" "description in the docs" +# # The files generated from this one are: # # src/backend/utils/activity/wait_event_types.h @@ -18,11 +23,6 @@ # src/backend/utils/activity/wait_event_types.sgml # SGML tables of wait events for inclusion in the documentation. # -# This file defines one wait event per line, with the following -# tab-separated fields: -# -# "C symbol in enums" "format in the system views" "description in the docs" -# # When adding a new wait event, make sure it is placed in the appropriate # ClassName section. # @@ -44,19 +44,19 @@ Section: ClassName - WaitEventActivity -WAIT_EVENT_ARCHIVER_MAIN ArchiverMain "Waiting in main loop of archiver process." -WAIT_EVENT_AUTOVACUUM_MAIN AutovacuumMain "Waiting in main loop of autovacuum launcher process." -WAIT_EVENT_BGWRITER_HIBERNATE BgwriterHibernate "Waiting in background writer process, hibernating." -WAIT_EVENT_BGWRITER_MAIN BgwriterMain "Waiting in main loop of background writer process." -WAIT_EVENT_CHECKPOINTER_MAIN CheckpointerMain "Waiting in main loop of checkpointer process." -WAIT_EVENT_LOGICAL_APPLY_MAIN LogicalApplyMain "Waiting in main loop of logical replication apply process." -WAIT_EVENT_LOGICAL_LAUNCHER_MAIN LogicalLauncherMain "Waiting in main loop of logical replication launcher process." -WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN LogicalParallelApplyMain "Waiting in main loop of logical replication parallel apply process." -WAIT_EVENT_RECOVERY_WAL_STREAM RecoveryWalStream "Waiting in main loop of startup process for WAL to arrive, during streaming recovery." -WAIT_EVENT_SYSLOGGER_MAIN SysloggerMain "Waiting in main loop of syslogger process." -WAIT_EVENT_WAL_RECEIVER_MAIN WalReceiverMain "Waiting in main loop of WAL receiver process." -WAIT_EVENT_WAL_SENDER_MAIN WalSenderMain "Waiting in main loop of WAL sender process." -WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writer process." +ARCHIVER_MAIN "Waiting in main loop of archiver process." +AUTOVACUUM_MAIN "Waiting in main loop of autovacuum launcher process." +BGWRITER_HIBERNATE "Waiting in background writer process, hibernating." +BGWRITER_MAIN "Waiting in main loop of background writer process." +CHECKPOINTER_MAIN "Waiting in main loop of checkpointer process." +LOGICAL_APPLY_MAIN "Waiting in main loop of logical replication apply process." +LOGICAL_LAUNCHER_MAIN "Waiting in main loop of logical replication launcher process." +LOGICAL_PARALLEL_APPLY_MAIN "Waiting in main loop of logical replication parallel apply process." +RECOVERY_WAL_STREAM "Waiting in main loop of startup process for WAL to arrive, during streaming recovery." +SYSLOGGER_MAIN "Waiting in main loop of syslogger process." +WAL_RECEIVER_MAIN "Waiting in main loop of WAL receiver process." +WAL_SENDER_MAIN "Waiting in main loop of WAL sender process." +WAL_WRITER_MAIN "Waiting in main loop of WAL writer process." # @@ -69,14 +69,14 @@ WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writer pro Section: ClassName - WaitEventClient -WAIT_EVENT_CLIENT_READ ClientRead "Waiting to read data from the client." -WAIT_EVENT_CLIENT_WRITE ClientWrite "Waiting to write data to the client." -WAIT_EVENT_GSS_OPEN_SERVER GssOpenServer "Waiting to read data from the client while establishing a GSSAPI session." -WAIT_EVENT_LIBPQWALRECEIVER_CONNECT LibpqwalreceiverConnect "Waiting in WAL receiver to establish connection to remote server." -WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE LibpqwalreceiverReceive "Waiting in WAL receiver to receive data from remote server." -WAIT_EVENT_SSL_OPEN_SERVER SslOpenServer "Waiting for SSL while attempting connection." -WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL WalSenderWaitForWal "Waiting for WAL to be flushed in WAL sender process." -WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity when processing replies from WAL receiver in WAL sender process." +CLIENT_READ "Waiting to read data from the client." +CLIENT_WRITE "Waiting to write data to the client." +GSS_OPEN_SERVER "Waiting to read data from the client while establishing a GSSAPI session." +LIBPQWALRECEIVER_CONNECT "Waiting in WAL receiver to establish connection to remote server." +LIBPQWALRECEIVER_RECEIVE "Waiting in WAL receiver to receive data from remote server." +SSL_OPEN_SERVER "Waiting for SSL while attempting connection." +WAL_SENDER_WAIT_FOR_WAL "Waiting for WAL to be flushed in WAL sender process." +WAL_SENDER_WRITE_DATA "Waiting for any activity when processing replies from WAL receiver in WAL sender process." # @@ -88,59 +88,59 @@ WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity wh Section: ClassName - WaitEventIPC -WAIT_EVENT_APPEND_READY AppendReady "Waiting for subplan nodes of an Append plan node to be ready." -WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND ArchiveCleanupCommand "Waiting for to complete." -WAIT_EVENT_ARCHIVE_COMMAND ArchiveCommand "Waiting for to complete." -WAIT_EVENT_BACKEND_TERMINATION BackendTermination "Waiting for the termination of another backend." -WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE BackupWaitWalArchive "Waiting for WAL files required for a backup to be successfully archived." -WAIT_EVENT_BGWORKER_SHUTDOWN BgworkerShutdown "Waiting for background worker to shut down." -WAIT_EVENT_BGWORKER_STARTUP BgworkerStartup "Waiting for background worker to start up." -WAIT_EVENT_BTREE_PAGE BtreePage "Waiting for the page number needed to continue a parallel B-tree scan to become available." -WAIT_EVENT_BUFFER_IO BufferIo "Waiting for buffer I/O to complete." -WAIT_EVENT_CHECKPOINT_DONE CheckpointDone "Waiting for a checkpoint to complete." -WAIT_EVENT_CHECKPOINT_START CheckpointStart "Waiting for a checkpoint to start." -WAIT_EVENT_EXECUTE_GATHER ExecuteGather "Waiting for activity from a child process while executing a Gather plan node." -WAIT_EVENT_HASH_BATCH_ALLOCATE HashBatchAllocate "Waiting for an elected Parallel Hash participant to allocate a hash table." -WAIT_EVENT_HASH_BATCH_ELECT HashBatchElect "Waiting to elect a Parallel Hash participant to allocate a hash table." -WAIT_EVENT_HASH_BATCH_LOAD HashBatchLoad "Waiting for other Parallel Hash participants to finish loading a hash table." -WAIT_EVENT_HASH_BUILD_ALLOCATE HashBuildAllocate "Waiting for an elected Parallel Hash participant to allocate the initial hash table." -WAIT_EVENT_HASH_BUILD_ELECT HashBuildElect "Waiting to elect a Parallel Hash participant to allocate the initial hash table." -WAIT_EVENT_HASH_BUILD_HASH_INNER HashBuildHashInner "Waiting for other Parallel Hash participants to finish hashing the inner relation." -WAIT_EVENT_HASH_BUILD_HASH_OUTER HashBuildHashOuter "Waiting for other Parallel Hash participants to finish partitioning the outer relation." -WAIT_EVENT_HASH_GROW_BATCHES_DECIDE HashGrowBatchesDecide "Waiting to elect a Parallel Hash participant to decide on future batch growth." -WAIT_EVENT_HASH_GROW_BATCHES_ELECT HashGrowBatchesElect "Waiting to elect a Parallel Hash participant to allocate more batches." -WAIT_EVENT_HASH_GROW_BATCHES_FINISH HashGrowBatchesFinish "Waiting for an elected Parallel Hash participant to decide on future batch growth." -WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE HashGrowBatchesReallocate "Waiting for an elected Parallel Hash participant to allocate more batches." -WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION HashGrowBatchesRepartition "Waiting for other Parallel Hash participants to finish repartitioning." -WAIT_EVENT_HASH_GROW_BUCKETS_ELECT HashGrowBucketsElect "Waiting to elect a Parallel Hash participant to allocate more buckets." -WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE HashGrowBucketsReallocate "Waiting for an elected Parallel Hash participant to finish allocating more buckets." -WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT HashGrowBucketsReinsert "Waiting for other Parallel Hash participants to finish inserting tuples into new buckets." -WAIT_EVENT_LOGICAL_APPLY_SEND_DATA LogicalApplySendData "Waiting for a logical replication leader apply process to send data to a parallel apply process." -WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE LogicalParallelApplyStateChange "Waiting for a logical replication parallel apply process to change state." -WAIT_EVENT_LOGICAL_SYNC_DATA LogicalSyncData "Waiting for a logical replication remote server to send data for initial table synchronization." -WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE LogicalSyncStateChange "Waiting for a logical replication remote server to change state." -WAIT_EVENT_MESSAGE_QUEUE_INTERNAL MessageQueueInternal "Waiting for another process to be attached to a shared message queue." -WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE MessageQueuePutMessage "Waiting to write a protocol message to a shared message queue." -WAIT_EVENT_MESSAGE_QUEUE_RECEIVE MessageQueueReceive "Waiting to receive bytes from a shared message queue." -WAIT_EVENT_MESSAGE_QUEUE_SEND MessageQueueSend "Waiting to send bytes to a shared message queue." -WAIT_EVENT_PARALLEL_BITMAP_SCAN ParallelBitmapScan "Waiting for parallel bitmap scan to become initialized." -WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN ParallelCreateIndexScan "Waiting for parallel CREATE INDEX workers to finish heap scan." -WAIT_EVENT_PARALLEL_FINISH ParallelFinish "Waiting for parallel workers to finish computing." -WAIT_EVENT_PROCARRAY_GROUP_UPDATE ProcarrayGroupUpdate "Waiting for the group leader to clear the transaction ID at end of a parallel operation." -WAIT_EVENT_PROC_SIGNAL_BARRIER ProcSignalBarrier "Waiting for a barrier event to be processed by all backends." -WAIT_EVENT_PROMOTE Promote "Waiting for standby promotion." -WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT RecoveryConflictSnapshot "Waiting for recovery conflict resolution for a vacuum cleanup." -WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE RecoveryConflictTablespace "Waiting for recovery conflict resolution for dropping a tablespace." -WAIT_EVENT_RECOVERY_END_COMMAND RecoveryEndCommand "Waiting for to complete." -WAIT_EVENT_RECOVERY_PAUSE RecoveryPause "Waiting for recovery to be resumed." -WAIT_EVENT_REPLICATION_ORIGIN_DROP ReplicationOriginDrop "Waiting for a replication origin to become inactive so it can be dropped." -WAIT_EVENT_REPLICATION_SLOT_DROP ReplicationSlotDrop "Waiting for a replication slot to become inactive so it can be dropped." -WAIT_EVENT_RESTORE_COMMAND RestoreCommand "Waiting for to complete." -WAIT_EVENT_SAFE_SNAPSHOT SafeSnapshot "Waiting to obtain a valid snapshot for a READ ONLY DEFERRABLE transaction." -WAIT_EVENT_SYNC_REP SyncRep "Waiting for confirmation from a remote server during synchronous replication." -WAIT_EVENT_WAL_RECEIVER_EXIT WalReceiverExit "Waiting for the WAL receiver to exit." -WAIT_EVENT_WAL_RECEIVER_WAIT_START WalReceiverWaitStart "Waiting for startup process to send initial data for streaming replication." -WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting for the group leader to update transaction status at end of a parallel operation." +APPEND_READY "Waiting for subplan nodes of an Append plan node to be ready." +ARCHIVE_CLEANUP_COMMAND "Waiting for to complete." +ARCHIVE_COMMAND "Waiting for to complete." +BACKEND_TERMINATION "Waiting for the termination of another backend." +BACKUP_WAIT_WAL_ARCHIVE "Waiting for WAL files required for a backup to be successfully archived." +BGWORKER_SHUTDOWN "Waiting for background worker to shut down." +BGWORKER_STARTUP "Waiting for background worker to start up." +BTREE_PAGE "Waiting for the page number needed to continue a parallel B-tree scan to become available." +BUFFER_IO "Waiting for buffer I/O to complete." +CHECKPOINT_DONE "Waiting for a checkpoint to complete." +CHECKPOINT_START "Waiting for a checkpoint to start." +EXECUTE_GATHER "Waiting for activity from a child process while executing a Gather plan node." +HASH_BATCH_ALLOCATE "Waiting for an elected Parallel Hash participant to allocate a hash table." +HASH_BATCH_ELECT "Waiting to elect a Parallel Hash participant to allocate a hash table." +HASH_BATCH_LOAD "Waiting for other Parallel Hash participants to finish loading a hash table." +HASH_BUILD_ALLOCATE "Waiting for an elected Parallel Hash participant to allocate the initial hash table." +HASH_BUILD_ELECT "Waiting to elect a Parallel Hash participant to allocate the initial hash table." +HASH_BUILD_HASH_INNER "Waiting for other Parallel Hash participants to finish hashing the inner relation." +HASH_BUILD_HASH_OUTER "Waiting for other Parallel Hash participants to finish partitioning the outer relation." +HASH_GROW_BATCHES_DECIDE "Waiting to elect a Parallel Hash participant to decide on future batch growth." +HASH_GROW_BATCHES_ELECT "Waiting to elect a Parallel Hash participant to allocate more batches." +HASH_GROW_BATCHES_FINISH "Waiting for an elected Parallel Hash participant to decide on future batch growth." +HASH_GROW_BATCHES_REALLOCATE "Waiting for an elected Parallel Hash participant to allocate more batches." +HASH_GROW_BATCHES_REPARTITION "Waiting for other Parallel Hash participants to finish repartitioning." +HASH_GROW_BUCKETS_ELECT "Waiting to elect a Parallel Hash participant to allocate more buckets." +HASH_GROW_BUCKETS_REALLOCATE "Waiting for an elected Parallel Hash participant to finish allocating more buckets." +HASH_GROW_BUCKETS_REINSERT "Waiting for other Parallel Hash participants to finish inserting tuples into new buckets." +LOGICAL_APPLY_SEND_DATA "Waiting for a logical replication leader apply process to send data to a parallel apply process." +LOGICAL_PARALLEL_APPLY_STATE_CHANGE "Waiting for a logical replication parallel apply process to change state." +LOGICAL_SYNC_DATA "Waiting for a logical replication remote server to send data for initial table synchronization." +LOGICAL_SYNC_STATE_CHANGE "Waiting for a logical replication remote server to change state." +MESSAGE_QUEUE_INTERNAL "Waiting for another process to be attached to a shared message queue." +MESSAGE_QUEUE_PUT_MESSAGE "Waiting to write a protocol message to a shared message queue." +MESSAGE_QUEUE_RECEIVE "Waiting to receive bytes from a shared message queue." +MESSAGE_QUEUE_SEND "Waiting to send bytes to a shared message queue." +PARALLEL_BITMAP_SCAN "Waiting for parallel bitmap scan to become initialized." +PARALLEL_CREATE_INDEX_SCAN "Waiting for parallel CREATE INDEX workers to finish heap scan." +PARALLEL_FINISH "Waiting for parallel workers to finish computing." +PROCARRAY_GROUP_UPDATE "Waiting for the group leader to clear the transaction ID at end of a parallel operation." +PROC_SIGNAL_BARRIER "Waiting for a barrier event to be processed by all backends." +PROMOTE "Waiting for standby promotion." +RECOVERY_CONFLICT_SNAPSHOT "Waiting for recovery conflict resolution for a vacuum cleanup." +RECOVERY_CONFLICT_TABLESPACE "Waiting for recovery conflict resolution for dropping a tablespace." +RECOVERY_END_COMMAND "Waiting for to complete." +RECOVERY_PAUSE "Waiting for recovery to be resumed." +REPLICATION_ORIGIN_DROP "Waiting for a replication origin to become inactive so it can be dropped." +REPLICATION_SLOT_DROP "Waiting for a replication slot to become inactive so it can be dropped." +RESTORE_COMMAND "Waiting for to complete." +SAFE_SNAPSHOT "Waiting to obtain a valid snapshot for a READ ONLY DEFERRABLE transaction." +SYNC_REP "Waiting for confirmation from a remote server during synchronous replication." +WAL_RECEIVER_EXIT "Waiting for the WAL receiver to exit." +WAL_RECEIVER_WAIT_START "Waiting for startup process to send initial data for streaming replication." +XACT_GROUP_UPDATE "Waiting for the group leader to update transaction status at end of a parallel operation." # @@ -151,15 +151,15 @@ WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting for the group leader to up Section: ClassName - WaitEventTimeout -WAIT_EVENT_BASE_BACKUP_THROTTLE BaseBackupThrottle "Waiting during base backup when throttling activity." -WAIT_EVENT_CHECKPOINT_WRITE_DELAY CheckpointWriteDelay "Waiting between writes while performing a checkpoint." -WAIT_EVENT_PG_SLEEP PgSleep "Waiting due to a call to pg_sleep or a sibling function." -WAIT_EVENT_RECOVERY_APPLY_DELAY RecoveryApplyDelay "Waiting to apply WAL during recovery because of a delay setting." -WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL RecoveryRetrieveRetryInterval "Waiting during recovery when WAL data is not available from any source (pg_wal, archive or stream)." -WAIT_EVENT_REGISTER_SYNC_REQUEST RegisterSyncRequest "Waiting while sending synchronization requests to the checkpointer, because the request queue is full." -WAIT_EVENT_SPIN_DELAY SpinDelay "Waiting while acquiring a contended spinlock." -WAIT_EVENT_VACUUM_DELAY VacuumDelay "Waiting in a cost-based vacuum delay point." -WAIT_EVENT_VACUUM_TRUNCATE VacuumTruncate "Waiting to acquire an exclusive lock to truncate off any empty pages at the end of a table vacuumed." +BASE_BACKUP_THROTTLE "Waiting during base backup when throttling activity." +CHECKPOINT_WRITE_DELAY "Waiting between writes while performing a checkpoint." +PG_SLEEP "Waiting due to a call to pg_sleep or a sibling function." +RECOVERY_APPLY_DELAY "Waiting to apply WAL during recovery because of a delay setting." +RECOVERY_RETRIEVE_RETRY_INTERVAL "Waiting during recovery when WAL data is not available from any source (pg_wal, archive or stream)." +REGISTER_SYNC_REQUEST "Waiting while sending synchronization requests to the checkpointer, because the request queue is full." +SPIN_DELAY "Waiting while acquiring a contended spinlock." +VACUUM_DELAY "Waiting in a cost-based vacuum delay point." +VACUUM_TRUNCATE "Waiting to acquire an exclusive lock to truncate off any empty pages at the end of a table vacuumed." # @@ -170,80 +170,80 @@ WAIT_EVENT_VACUUM_TRUNCATE VacuumTruncate "Waiting to acquire an exclusive lock Section: ClassName - WaitEventIO -WAIT_EVENT_BASEBACKUP_READ BasebackupRead "Waiting for base backup to read from a file." -WAIT_EVENT_BASEBACKUP_SYNC BasebackupSync "Waiting for data written by a base backup to reach durable storage." -WAIT_EVENT_BASEBACKUP_WRITE BasebackupWrite "Waiting for base backup to write to a file." -WAIT_EVENT_BUFFILE_READ BuffileRead "Waiting for a read from a buffered file." -WAIT_EVENT_BUFFILE_WRITE BuffileWrite "Waiting for a write to a buffered file." -WAIT_EVENT_BUFFILE_TRUNCATE BuffileTruncate "Waiting for a buffered file to be truncated." -WAIT_EVENT_CONTROL_FILE_READ ControlFileRead "Waiting for a read from the pg_control file." -WAIT_EVENT_CONTROL_FILE_SYNC ControlFileSync "Waiting for the pg_control file to reach durable storage." -WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE ControlFileSyncUpdate "Waiting for an update to the pg_control file to reach durable storage." -WAIT_EVENT_CONTROL_FILE_WRITE ControlFileWrite "Waiting for a write to the pg_control file." -WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE ControlFileWriteUpdate "Waiting for a write to update the pg_control file." -WAIT_EVENT_COPY_FILE_READ CopyFileRead "Waiting for a read during a file copy operation." -WAIT_EVENT_COPY_FILE_WRITE CopyFileWrite "Waiting for a write during a file copy operation." -WAIT_EVENT_DATA_FILE_EXTEND DataFileExtend "Waiting for a relation data file to be extended." -WAIT_EVENT_DATA_FILE_FLUSH DataFileFlush "Waiting for a relation data file to reach durable storage." -WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC DataFileImmediateSync "Waiting for an immediate synchronization of a relation data file to durable storage." -WAIT_EVENT_DATA_FILE_PREFETCH DataFilePrefetch "Waiting for an asynchronous prefetch from a relation data file." -WAIT_EVENT_DATA_FILE_READ DataFileRead "Waiting for a read from a relation data file." -WAIT_EVENT_DATA_FILE_SYNC DataFileSync "Waiting for changes to a relation data file to reach durable storage." -WAIT_EVENT_DATA_FILE_TRUNCATE DataFileTruncate "Waiting for a relation data file to be truncated." -WAIT_EVENT_DATA_FILE_WRITE DataFileWrite "Waiting for a write to a relation data file." -WAIT_EVENT_DSM_ALLOCATE DsmAllocate "Waiting for a dynamic shared memory segment to be allocated." -WAIT_EVENT_DSM_FILL_ZERO_WRITE DsmFillZeroWrite "Waiting to fill a dynamic shared memory backing file with zeroes." -WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ LockFileAddtodatadirRead "Waiting for a read while adding a line to the data directory lock file." -WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC LockFileAddtodatadirSync "Waiting for data to reach durable storage while adding a line to the data directory lock file." -WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE LockFileAddtodatadirWrite "Waiting for a write while adding a line to the data directory lock file." -WAIT_EVENT_LOCK_FILE_CREATE_READ LockFileCreateRead "Waiting to read while creating the data directory lock file." -WAIT_EVENT_LOCK_FILE_CREATE_SYNC LockFileCreateSync "Waiting for data to reach durable storage while creating the data directory lock file." -WAIT_EVENT_LOCK_FILE_CREATE_WRITE LockFileCreateWrite "Waiting for a write while creating the data directory lock file." -WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ LockFileRecheckdatadirRead "Waiting for a read during recheck of the data directory lock file." -WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC LogicalRewriteCheckpointSync "Waiting for logical rewrite mappings to reach durable storage during a checkpoint." -WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC LogicalRewriteMappingSync "Waiting for mapping data to reach durable storage during a logical rewrite." -WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE LogicalRewriteMappingWrite "Waiting for a write of mapping data during a logical rewrite." -WAIT_EVENT_LOGICAL_REWRITE_SYNC LogicalRewriteSync "Waiting for logical rewrite mappings to reach durable storage." -WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE LogicalRewriteTruncate "Waiting for truncate of mapping data during a logical rewrite." -WAIT_EVENT_LOGICAL_REWRITE_WRITE LogicalRewriteWrite "Waiting for a write of logical rewrite mappings." -WAIT_EVENT_RELATION_MAP_READ RelationMapRead "Waiting for a read of the relation map file." -WAIT_EVENT_RELATION_MAP_REPLACE RelationMapReplace "Waiting for durable replacement of a relation map file." -WAIT_EVENT_RELATION_MAP_WRITE RelationMapWrite "Waiting for a write to the relation map file." -WAIT_EVENT_REORDER_BUFFER_READ ReorderBufferRead "Waiting for a read during reorder buffer management." -WAIT_EVENT_REORDER_BUFFER_WRITE ReorderBufferWrite "Waiting for a write during reorder buffer management." -WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ ReorderLogicalMappingRead "Waiting for a read of a logical mapping during reorder buffer management." -WAIT_EVENT_REPLICATION_SLOT_READ ReplicationSlotRead "Waiting for a read from a replication slot control file." -WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC ReplicationSlotRestoreSync "Waiting for a replication slot control file to reach durable storage while restoring it to memory." -WAIT_EVENT_REPLICATION_SLOT_SYNC ReplicationSlotSync "Waiting for a replication slot control file to reach durable storage." -WAIT_EVENT_REPLICATION_SLOT_WRITE ReplicationSlotWrite "Waiting for a write to a replication slot control file." -WAIT_EVENT_SLRU_FLUSH_SYNC SlruFlushSync "Waiting for SLRU data to reach durable storage during a checkpoint or database shutdown." -WAIT_EVENT_SLRU_READ SlruRead "Waiting for a read of an SLRU page." -WAIT_EVENT_SLRU_SYNC SlruSync "Waiting for SLRU data to reach durable storage following a page write." -WAIT_EVENT_SLRU_WRITE SlruWrite "Waiting for a write of an SLRU page." -WAIT_EVENT_SNAPBUILD_READ SnapbuildRead "Waiting for a read of a serialized historical catalog snapshot." -WAIT_EVENT_SNAPBUILD_SYNC SnapbuildSync "Waiting for a serialized historical catalog snapshot to reach durable storage." -WAIT_EVENT_SNAPBUILD_WRITE SnapbuildWrite "Waiting for a write of a serialized historical catalog snapshot." -WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC TimelineHistoryFileSync "Waiting for a timeline history file received via streaming replication to reach durable storage." -WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE TimelineHistoryFileWrite "Waiting for a write of a timeline history file received via streaming replication." -WAIT_EVENT_TIMELINE_HISTORY_READ TimelineHistoryRead "Waiting for a read of a timeline history file." -WAIT_EVENT_TIMELINE_HISTORY_SYNC TimelineHistorySync "Waiting for a newly created timeline history file to reach durable storage." -WAIT_EVENT_TIMELINE_HISTORY_WRITE TimelineHistoryWrite "Waiting for a write of a newly created timeline history file." -WAIT_EVENT_TWOPHASE_FILE_READ TwophaseFileRead "Waiting for a read of a two phase state file." -WAIT_EVENT_TWOPHASE_FILE_SYNC TwophaseFileSync "Waiting for a two phase state file to reach durable storage." -WAIT_EVENT_TWOPHASE_FILE_WRITE TwophaseFileWrite "Waiting for a write of a two phase state file." -WAIT_EVENT_VERSION_FILE_WRITE VersionFileWrite "Waiting for the version file to be written while creating a database." -WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ WalsenderTimelineHistoryRead "Waiting for a read from a timeline history file during a walsender timeline command." -WAIT_EVENT_WAL_BOOTSTRAP_SYNC WalBootstrapSync "Waiting for WAL to reach durable storage during bootstrapping." -WAIT_EVENT_WAL_BOOTSTRAP_WRITE WalBootstrapWrite "Waiting for a write of a WAL page during bootstrapping." -WAIT_EVENT_WAL_COPY_READ WalCopyRead "Waiting for a read when creating a new WAL segment by copying an existing one." -WAIT_EVENT_WAL_COPY_SYNC WalCopySync "Waiting for a new WAL segment created by copying an existing one to reach durable storage." -WAIT_EVENT_WAL_COPY_WRITE WalCopyWrite "Waiting for a write when creating a new WAL segment by copying an existing one." -WAIT_EVENT_WAL_INIT_SYNC WalInitSync "Waiting for a newly initialized WAL file to reach durable storage." -WAIT_EVENT_WAL_INIT_WRITE WalInitWrite "Waiting for a write while initializing a new WAL file." -WAIT_EVENT_WAL_READ WalRead "Waiting for a read from a WAL file." -WAIT_EVENT_WAL_SYNC WalSync "Waiting for a WAL file to reach durable storage." -WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WalSyncMethodAssign "Waiting for data to reach durable storage while assigning a new WAL sync method." -WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file." +BASEBACKUP_READ "Waiting for base backup to read from a file." +BASEBACKUP_SYNC "Waiting for data written by a base backup to reach durable storage." +BASEBACKUP_WRITE "Waiting for base backup to write to a file." +BUFFILE_READ "Waiting for a read from a buffered file." +BUFFILE_WRITE "Waiting for a write to a buffered file." +BUFFILE_TRUNCATE "Waiting for a buffered file to be truncated." +CONTROL_FILE_READ "Waiting for a read from the pg_control file." +CONTROL_FILE_SYNC "Waiting for the pg_control file to reach durable storage." +CONTROL_FILE_SYNC_UPDATE "Waiting for an update to the pg_control file to reach durable storage." +CONTROL_FILE_WRITE "Waiting for a write to the pg_control file." +CONTROL_FILE_WRITE_UPDATE "Waiting for a write to update the pg_control file." +COPY_FILE_READ "Waiting for a read during a file copy operation." +COPY_FILE_WRITE "Waiting for a write during a file copy operation." +DATA_FILE_EXTEND "Waiting for a relation data file to be extended." +DATA_FILE_FLUSH "Waiting for a relation data file to reach durable storage." +DATA_FILE_IMMEDIATE_SYNC "Waiting for an immediate synchronization of a relation data file to durable storage." +DATA_FILE_PREFETCH "Waiting for an asynchronous prefetch from a relation data file." +DATA_FILE_READ "Waiting for a read from a relation data file." +DATA_FILE_SYNC "Waiting for changes to a relation data file to reach durable storage." +DATA_FILE_TRUNCATE "Waiting for a relation data file to be truncated." +DATA_FILE_WRITE "Waiting for a write to a relation data file." +DSM_ALLOCATE "Waiting for a dynamic shared memory segment to be allocated." +DSM_FILL_ZERO_WRITE "Waiting to fill a dynamic shared memory backing file with zeroes." +LOCK_FILE_ADDTODATADIR_READ "Waiting for a read while adding a line to the data directory lock file." +LOCK_FILE_ADDTODATADIR_SYNC "Waiting for data to reach durable storage while adding a line to the data directory lock file." +LOCK_FILE_ADDTODATADIR_WRITE "Waiting for a write while adding a line to the data directory lock file." +LOCK_FILE_CREATE_READ "Waiting to read while creating the data directory lock file." +LOCK_FILE_CREATE_SYNC "Waiting for data to reach durable storage while creating the data directory lock file." +LOCK_FILE_CREATE_WRITE "Waiting for a write while creating the data directory lock file." +LOCK_FILE_RECHECKDATADIR_READ "Waiting for a read during recheck of the data directory lock file." +LOGICAL_REWRITE_CHECKPOINT_SYNC "Waiting for logical rewrite mappings to reach durable storage during a checkpoint." +LOGICAL_REWRITE_MAPPING_SYNC "Waiting for mapping data to reach durable storage during a logical rewrite." +LOGICAL_REWRITE_MAPPING_WRITE "Waiting for a write of mapping data during a logical rewrite." +LOGICAL_REWRITE_SYNC "Waiting for logical rewrite mappings to reach durable storage." +LOGICAL_REWRITE_TRUNCATE "Waiting for truncate of mapping data during a logical rewrite." +LOGICAL_REWRITE_WRITE "Waiting for a write of logical rewrite mappings." +RELATION_MAP_READ "Waiting for a read of the relation map file." +RELATION_MAP_REPLACE "Waiting for durable replacement of a relation map file." +RELATION_MAP_WRITE "Waiting for a write to the relation map file." +REORDER_BUFFER_READ "Waiting for a read during reorder buffer management." +REORDER_BUFFER_WRITE "Waiting for a write during reorder buffer management." +REORDER_LOGICAL_MAPPING_READ "Waiting for a read of a logical mapping during reorder buffer management." +REPLICATION_SLOT_READ "Waiting for a read from a replication slot control file." +REPLICATION_SLOT_RESTORE_SYNC "Waiting for a replication slot control file to reach durable storage while restoring it to memory." +REPLICATION_SLOT_SYNC "Waiting for a replication slot control file to reach durable storage." +REPLICATION_SLOT_WRITE "Waiting for a write to a replication slot control file." +SLRU_FLUSH_SYNC "Waiting for SLRU data to reach durable storage during a checkpoint or database shutdown." +SLRU_READ "Waiting for a read of an SLRU page." +SLRU_SYNC "Waiting for SLRU data to reach durable storage following a page write." +SLRU_WRITE "Waiting for a write of an SLRU page." +SNAPBUILD_READ "Waiting for a read of a serialized historical catalog snapshot." +SNAPBUILD_SYNC "Waiting for a serialized historical catalog snapshot to reach durable storage." +SNAPBUILD_WRITE "Waiting for a write of a serialized historical catalog snapshot." +TIMELINE_HISTORY_FILE_SYNC "Waiting for a timeline history file received via streaming replication to reach durable storage." +TIMELINE_HISTORY_FILE_WRITE "Waiting for a write of a timeline history file received via streaming replication." +TIMELINE_HISTORY_READ "Waiting for a read of a timeline history file." +TIMELINE_HISTORY_SYNC "Waiting for a newly created timeline history file to reach durable storage." +TIMELINE_HISTORY_WRITE "Waiting for a write of a newly created timeline history file." +TWOPHASE_FILE_READ "Waiting for a read of a two phase state file." +TWOPHASE_FILE_SYNC "Waiting for a two phase state file to reach durable storage." +TWOPHASE_FILE_WRITE "Waiting for a write of a two phase state file." +VERSION_FILE_WRITE "Waiting for the version file to be written while creating a database." +WALSENDER_TIMELINE_HISTORY_READ "Waiting for a read from a timeline history file during a walsender timeline command." +WAL_BOOTSTRAP_SYNC "Waiting for WAL to reach durable storage during bootstrapping." +WAL_BOOTSTRAP_WRITE "Waiting for a write of a WAL page during bootstrapping." +WAL_COPY_READ "Waiting for a read when creating a new WAL segment by copying an existing one." +WAL_COPY_SYNC "Waiting for a new WAL segment created by copying an existing one to reach durable storage." +WAL_COPY_WRITE "Waiting for a write when creating a new WAL segment by copying an existing one." +WAL_INIT_SYNC "Waiting for a newly initialized WAL file to reach durable storage." +WAL_INIT_WRITE "Waiting for a write while initializing a new WAL file." +WAL_READ "Waiting for a read from a WAL file." +WAL_SYNC "Waiting for a WAL file to reach durable storage." +WAL_SYNC_METHOD_ASSIGN "Waiting for data to reach durable storage while assigning a new WAL sync method." +WAL_WRITE "Waiting for a write to a WAL file." # @@ -252,7 +252,7 @@ WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file." Section: ClassName - WaitEventBufferPin -WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an exclusive pin on a buffer." +BUFFER_PIN "Waiting to acquire an exclusive pin on a buffer." # @@ -261,7 +261,7 @@ WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an exclusive pin on a buffer Section: ClassName - WaitEventExtension -WAIT_EVENT_DOCONLY Extension "Waiting in an extension." +Extension "Waiting in an extension." # # Wait Events - LWLock @@ -272,81 +272,81 @@ WAIT_EVENT_DOCONLY Extension "Waiting in an extension." Section: ClassName - WaitEventLWLock -WAIT_EVENT_DOCONLY ShmemIndex "Waiting to find or allocate space in shared memory." -WAIT_EVENT_DOCONLY OidGen "Waiting to allocate a new OID." -WAIT_EVENT_DOCONLY XidGen "Waiting to allocate a new transaction ID." -WAIT_EVENT_DOCONLY ProcArray "Waiting to access the shared per-process data structures (typically, to get a snapshot or report a session's transaction ID)." -WAIT_EVENT_DOCONLY SInvalRead "Waiting to retrieve messages from the shared catalog invalidation queue." -WAIT_EVENT_DOCONLY SInvalWrite "Waiting to add a message to the shared catalog invalidation queue." -WAIT_EVENT_DOCONLY WALBufMapping "Waiting to replace a page in WAL buffers." -WAIT_EVENT_DOCONLY WALWrite "Waiting for WAL buffers to be written to disk." -WAIT_EVENT_DOCONLY ControlFile "Waiting to read or update the pg_control file or create a new WAL file." -WAIT_EVENT_DOCONLY XactSLRU "Waiting to access the transaction status SLRU cache." -WAIT_EVENT_DOCONLY SubtransSLRU "Waiting to access the sub-transaction SLRU cache." -WAIT_EVENT_DOCONLY MultiXactGen "Waiting to read or update shared multixact state." -WAIT_EVENT_DOCONLY MultiXactOffsetSLRU "Waiting to access the multixact offset SLRU cache." -WAIT_EVENT_DOCONLY MultiXactMemberSLRU "Waiting to access the multixact member SLRU cache." -WAIT_EVENT_DOCONLY RelCacheInit "Waiting to read or update a pg_internal.init relation cache initialization file." -WAIT_EVENT_DOCONLY CheckpointerComm "Waiting to manage fsync requests." -WAIT_EVENT_DOCONLY TwoPhaseState "Waiting to read or update the state of prepared transactions." -WAIT_EVENT_DOCONLY TablespaceCreate "Waiting to create or drop a tablespace." -WAIT_EVENT_DOCONLY BtreeVacuum "Waiting to read or update vacuum-related information for a B-tree index." -WAIT_EVENT_DOCONLY AddinShmemInit "Waiting to manage an extension's space allocation in shared memory." -WAIT_EVENT_DOCONLY Autovacuum "Waiting to read or update the current state of autovacuum workers." -WAIT_EVENT_DOCONLY AutovacuumSchedule "Waiting to ensure that a table selected for autovacuum still needs vacuuming." -WAIT_EVENT_DOCONLY SyncScan "Waiting to select the starting location of a synchronized table scan." -WAIT_EVENT_DOCONLY RelationMapping "Waiting to read or update a pg_filenode.map file (used to track the filenode assignments of certain system catalogs)." -WAIT_EVENT_DOCONLY NotifySLRU "Waiting to access the NOTIFY message SLRU cache." -WAIT_EVENT_DOCONLY NotifyQueue "Waiting to read or update NOTIFY messages." -WAIT_EVENT_DOCONLY SerializableXactHash "Waiting to read or update information about serializable transactions." -WAIT_EVENT_DOCONLY SerializableFinishedList "Waiting to access the list of finished serializable transactions." -WAIT_EVENT_DOCONLY SerializablePredicateList "Waiting to access the list of predicate locks held by serializable transactions." -WAIT_EVENT_DOCONLY SerialSLRU "Waiting to access the serializable transaction conflict SLRU cache." -WAIT_EVENT_DOCONLY SyncRep "Waiting to read or update information about the state of synchronous replication." -WAIT_EVENT_DOCONLY BackgroundWorker "Waiting to read or update background worker state." -WAIT_EVENT_DOCONLY DynamicSharedMemoryControl "Waiting to read or update dynamic shared memory allocation information." -WAIT_EVENT_DOCONLY AutoFile "Waiting to update the postgresql.auto.conf file." -WAIT_EVENT_DOCONLY ReplicationSlotAllocation "Waiting to allocate or free a replication slot." -WAIT_EVENT_DOCONLY ReplicationSlotControl "Waiting to read or update replication slot state." -WAIT_EVENT_DOCONLY CommitTsSLRU "Waiting to access the commit timestamp SLRU cache." -WAIT_EVENT_DOCONLY CommitTs "Waiting to read or update the last value set for a transaction commit timestamp." -WAIT_EVENT_DOCONLY ReplicationOrigin "Waiting to create, drop or use a replication origin." -WAIT_EVENT_DOCONLY MultiXactTruncation "Waiting to read or truncate multixact information." -WAIT_EVENT_DOCONLY LogicalRepWorker "Waiting to read or update the state of logical replication workers." -WAIT_EVENT_DOCONLY XactTruncation "Waiting to execute pg_xact_status or update the oldest transaction ID available to it." -WAIT_EVENT_DOCONLY WrapLimitsVacuum "Waiting to update limits on transaction id and multixact consumption." -WAIT_EVENT_DOCONLY NotifyQueueTail "Waiting to update limit on NOTIFY message storage." -WAIT_EVENT_DOCONLY WaitEventExtension "Waiting to read or update custom wait events information for extensions." - -WAIT_EVENT_DOCONLY XactBuffer "Waiting for I/O on a transaction status SLRU buffer." -WAIT_EVENT_DOCONLY CommitTsBuffer "Waiting for I/O on a commit timestamp SLRU buffer." -WAIT_EVENT_DOCONLY SubtransBuffer "Waiting for I/O on a sub-transaction SLRU buffer." -WAIT_EVENT_DOCONLY MultiXactOffsetBuffer "Waiting for I/O on a multixact offset SLRU buffer." -WAIT_EVENT_DOCONLY MultiXactMemberBuffer "Waiting for I/O on a multixact member SLRU buffer." -WAIT_EVENT_DOCONLY NotifyBuffer "Waiting for I/O on a NOTIFY message SLRU buffer." -WAIT_EVENT_DOCONLY SerialBuffer "Waiting for I/O on a serializable transaction conflict SLRU buffer." -WAIT_EVENT_DOCONLY WALInsert "Waiting to insert WAL data into a memory buffer." -WAIT_EVENT_DOCONLY BufferContent "Waiting to access a data page in memory." -WAIT_EVENT_DOCONLY ReplicationOriginState "Waiting to read or update the progress of one replication origin." -WAIT_EVENT_DOCONLY ReplicationSlotIO "Waiting for I/O on a replication slot." -WAIT_EVENT_DOCONLY LockFastPath "Waiting to read or update a process' fast-path lock information." -WAIT_EVENT_DOCONLY BufferMapping "Waiting to associate a data block with a buffer in the buffer pool." -WAIT_EVENT_DOCONLY LockManager "Waiting to read or update information about heavyweight locks." -WAIT_EVENT_DOCONLY PredicateLockManager "Waiting to access predicate lock information used by serializable transactions." -WAIT_EVENT_DOCONLY ParallelHashJoin "Waiting to synchronize workers during Parallel Hash Join plan execution." -WAIT_EVENT_DOCONLY ParallelQueryDSA "Waiting for parallel query dynamic shared memory allocation." -WAIT_EVENT_DOCONLY PerSessionDSA "Waiting for parallel query dynamic shared memory allocation." -WAIT_EVENT_DOCONLY PerSessionRecordType "Waiting to access a parallel query's information about composite types." -WAIT_EVENT_DOCONLY PerSessionRecordTypmod "Waiting to access a parallel query's information about type modifiers that identify anonymous record types." -WAIT_EVENT_DOCONLY SharedTupleStore "Waiting to access a shared tuple store during parallel query." -WAIT_EVENT_DOCONLY SharedTidBitmap "Waiting to access a shared TID bitmap during a parallel bitmap index scan." -WAIT_EVENT_DOCONLY ParallelAppend "Waiting to choose the next subplan during Parallel Append plan execution." -WAIT_EVENT_DOCONLY PerXactPredicateList "Waiting to access the list of predicate locks held by the current serializable transaction during a parallel query." -WAIT_EVENT_DOCONLY PgStatsDSA "Waiting for stats dynamic shared memory allocator access." -WAIT_EVENT_DOCONLY PgStatsHash "Waiting for stats shared memory hash table access." -WAIT_EVENT_DOCONLY PgStatsData "Waiting for shared memory stats data access." -WAIT_EVENT_DOCONLY LogicalRepLauncherDSA "Waiting to access logical replication launcher's dynamic shared memory allocator." -WAIT_EVENT_DOCONLY LogicalRepLauncherHash "Waiting to access logical replication launcher's shared hash table." +ShmemIndex "Waiting to find or allocate space in shared memory." +OidGen "Waiting to allocate a new OID." +XidGen "Waiting to allocate a new transaction ID." +ProcArray "Waiting to access the shared per-process data structures (typically, to get a snapshot or report a session's transaction ID)." +SInvalRead "Waiting to retrieve messages from the shared catalog invalidation queue." +SInvalWrite "Waiting to add a message to the shared catalog invalidation queue." +WALBufMapping "Waiting to replace a page in WAL buffers." +WALWrite "Waiting for WAL buffers to be written to disk." +ControlFile "Waiting to read or update the pg_control file or create a new WAL file." +XactSLRU "Waiting to access the transaction status SLRU cache." +SubtransSLRU "Waiting to access the sub-transaction SLRU cache." +MultiXactGen "Waiting to read or update shared multixact state." +MultiXactOffsetSLRU "Waiting to access the multixact offset SLRU cache." +MultiXactMemberSLRU "Waiting to access the multixact member SLRU cache." +RelCacheInit "Waiting to read or update a pg_internal.init relation cache initialization file." +CheckpointerComm "Waiting to manage fsync requests." +TwoPhaseState "Waiting to read or update the state of prepared transactions." +TablespaceCreate "Waiting to create or drop a tablespace." +BtreeVacuum "Waiting to read or update vacuum-related information for a B-tree index." +AddinShmemInit "Waiting to manage an extension's space allocation in shared memory." +Autovacuum "Waiting to read or update the current state of autovacuum workers." +AutovacuumSchedule "Waiting to ensure that a table selected for autovacuum still needs vacuuming." +SyncScan "Waiting to select the starting location of a synchronized table scan." +RelationMapping "Waiting to read or update a pg_filenode.map file (used to track the filenode assignments of certain system catalogs)." +NotifySLRU "Waiting to access the NOTIFY message SLRU cache." +NotifyQueue "Waiting to read or update NOTIFY messages." +SerializableXactHash "Waiting to read or update information about serializable transactions." +SerializableFinishedList "Waiting to access the list of finished serializable transactions." +SerializablePredicateList "Waiting to access the list of predicate locks held by serializable transactions." +SerialSLRU "Waiting to access the serializable transaction conflict SLRU cache." +SyncRep "Waiting to read or update information about the state of synchronous replication." +BackgroundWorker "Waiting to read or update background worker state." +DynamicSharedMemoryControl "Waiting to read or update dynamic shared memory allocation information." +AutoFile "Waiting to update the postgresql.auto.conf file." +ReplicationSlotAllocation "Waiting to allocate or free a replication slot." +ReplicationSlotControl "Waiting to read or update replication slot state." +CommitTsSLRU "Waiting to access the commit timestamp SLRU cache." +CommitTs "Waiting to read or update the last value set for a transaction commit timestamp." +ReplicationOrigin "Waiting to create, drop or use a replication origin." +MultiXactTruncation "Waiting to read or truncate multixact information." +LogicalRepWorker "Waiting to read or update the state of logical replication workers." +XactTruncation "Waiting to execute pg_xact_status or update the oldest transaction ID available to it." +WrapLimitsVacuum "Waiting to update limits on transaction id and multixact consumption." +NotifyQueueTail "Waiting to update limit on NOTIFY message storage." +WaitEventExtension "Waiting to read or update custom wait events information for extensions." + +XactBuffer "Waiting for I/O on a transaction status SLRU buffer." +CommitTsBuffer "Waiting for I/O on a commit timestamp SLRU buffer." +SubtransBuffer "Waiting for I/O on a sub-transaction SLRU buffer." +MultiXactOffsetBuffer "Waiting for I/O on a multixact offset SLRU buffer." +MultiXactMemberBuffer "Waiting for I/O on a multixact member SLRU buffer." +NotifyBuffer "Waiting for I/O on a NOTIFY message SLRU buffer." +SerialBuffer "Waiting for I/O on a serializable transaction conflict SLRU buffer." +WALInsert "Waiting to insert WAL data into a memory buffer." +BufferContent "Waiting to access a data page in memory." +ReplicationOriginState "Waiting to read or update the progress of one replication origin." +ReplicationSlotIO "Waiting for I/O on a replication slot." +LockFastPath "Waiting to read or update a process' fast-path lock information." +BufferMapping "Waiting to associate a data block with a buffer in the buffer pool." +LockManager "Waiting to read or update information about heavyweight locks." +PredicateLockManager "Waiting to access predicate lock information used by serializable transactions." +ParallelHashJoin "Waiting to synchronize workers during Parallel Hash Join plan execution." +ParallelQueryDSA "Waiting for parallel query dynamic shared memory allocation." +PerSessionDSA "Waiting for parallel query dynamic shared memory allocation." +PerSessionRecordType "Waiting to access a parallel query's information about composite types." +PerSessionRecordTypmod "Waiting to access a parallel query's information about type modifiers that identify anonymous record types." +SharedTupleStore "Waiting to access a shared tuple store during parallel query." +SharedTidBitmap "Waiting to access a shared TID bitmap during a parallel bitmap index scan." +ParallelAppend "Waiting to choose the next subplan during Parallel Append plan execution." +PerXactPredicateList "Waiting to access the list of predicate locks held by the current serializable transaction during a parallel query." +PgStatsDSA "Waiting for stats dynamic shared memory allocator access." +PgStatsHash "Waiting for stats shared memory hash table access." +PgStatsData "Waiting for shared memory stats data access." +LogicalRepLauncherDSA "Waiting to access logical replication launcher's dynamic shared memory allocator." +LogicalRepLauncherHash "Waiting to access logical replication launcher's shared hash table." # # Wait Events - Lock @@ -357,15 +357,15 @@ WAIT_EVENT_DOCONLY LogicalRepLauncherHash "Waiting to access logical replication Section: ClassName - WaitEventLock -WAIT_EVENT_DOCONLY relation "Waiting to acquire a lock on a relation." -WAIT_EVENT_DOCONLY extend "Waiting to extend a relation." -WAIT_EVENT_DOCONLY frozenid "Waiting to update pg_database.datfrozenxid and pg_database.datminmxid." -WAIT_EVENT_DOCONLY page "Waiting to acquire a lock on a page of a relation." -WAIT_EVENT_DOCONLY tuple "Waiting to acquire a lock on a tuple." -WAIT_EVENT_DOCONLY transactionid "Waiting for a transaction to finish." -WAIT_EVENT_DOCONLY virtualxid "Waiting to acquire a virtual transaction ID lock; see ." -WAIT_EVENT_DOCONLY spectoken "Waiting to acquire a speculative insertion lock." -WAIT_EVENT_DOCONLY object "Waiting to acquire a lock on a non-relation database object." -WAIT_EVENT_DOCONLY userlock "Waiting to acquire a user lock." -WAIT_EVENT_DOCONLY advisory "Waiting to acquire an advisory user lock." -WAIT_EVENT_DOCONLY applytransaction "Waiting to acquire a lock on a remote transaction being applied by a logical replication subscriber." +relation "Waiting to acquire a lock on a relation." +extend "Waiting to extend a relation." +frozenid "Waiting to update pg_database.datfrozenxid and pg_database.datminmxid." +page "Waiting to acquire a lock on a 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 transaction ID lock; see ." +spectoken "Waiting to acquire a speculative insertion lock." +object "Waiting to acquire a lock on a non-relation database object." +userlock "Waiting to acquire a user lock." +advisory "Waiting to acquire an advisory user lock." +applytransaction "Waiting to acquire a lock on a remote transaction being applied by a logical replication subscriber." -- 2.34.1