On Mon, Jul 10, 2023 at 07:52:23AM +0200, Drouvot, Bertrand wrote:
> On 7/10/23 7:20 AM, Michael Paquier wrote:
>> Hmm.  Something like that could be done, for instance:
>> 
>>   #   src/backend/utils/activity/wait_event_types.h
>> -#      typedef enum definitions for wait events.
>> +#      typedef enum definitions for wait events, generated from the first
>> +#      field.
> 
> Yeah, it looks a good place for it.

I am not sure where we are on that based on the objection from Alvaro
to not remove the first column in wait_event_names.txt about
greppability.  Anyway, I am not seeing any objections behind my
suggestion to simplify the second column and remove the quotes from
the event names, either.  Besides, the suggestion of Andres to improve
the error message on parsing and show the line information is
something useful in itself.

Hence, attached is a rebased patch set that separates the work into
more patches:
- 0001 removes the quotes from the second column, improving the
readability of the .txt file.
- 0002 fixes the report from Andres to improve the error message on
parsing.
- 0003 is the rename of the wait events, in preparation for...
- 0004 that removes entirely the first column (enum element names)
from wait_event_names.txt.

I would like to apply 0001 and 0002 to improve the format if there are
no objections.  0003 and 0004 are still here for discussion, as it
does not seem like a consensus has been reached for that yet.  Getting
more opinions would be a good next step for the last two patches, I
assume.

So, any comments?
--
Michael
From 4e10ef4726dc7179c02d23ec7e31f90d931b734a Mon Sep 17 00:00:00 2001
From: Michael Paquier <mich...@paquier.xyz>
Date: Thu, 13 Jul 2023 09:51:28 +0900
Subject: [PATCH v2 1/4] Remove quotes from second column of
 wait_event_names.txt

These are not required, as the fields quoted are single words.
---
 .../activity/generate-wait_event_types.pl     |   8 +-
 .../utils/activity/wait_event_names.txt       | 490 +++++++++---------
 2 files changed, 250 insertions(+), 248 deletions(-)

diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/backend/utils/activity/generate-wait_event_types.pl
index 75cddf6fa2..2a9e341c58 100644
--- a/src/backend/utils/activity/generate-wait_event_types.pl
+++ b/src/backend/utils/activity/generate-wait_event_types.pl
@@ -73,7 +73,7 @@ my @lines_sorted =
 foreach my $line (@lines_sorted)
 {
 	die "unable to parse wait_event_names.txt"
-	  unless $line =~ /^(\w+)\t+(\w+)\t+("\w+")\t+("\w.*\.")$/;
+	  unless $line =~ /^(\w+)\t+(\w+)\t+(\w+)\t+("\w.*\.")$/;
 
 	(   my $waitclassname,
 		my $waiteventenumname,
@@ -168,7 +168,9 @@ if ($gen_code)
 			$firstpass = 0;
 
 			printf $c "\t\t case %s:\n", $wev->[0];
-			printf $c "\t\t\t event_name = %s;\n\t\t\t break;\n", $wev->[1];
+			# Apply quotes to the wait event name string.
+			printf $c "\t\t\t event_name = \"%s\";\n\t\t\t break;\n",
+			  $wev->[1];
 		}
 
 		printf $h "\n} $waitclass;\n\n";
@@ -221,7 +223,7 @@ elsif ($gen_docs)
 		{
 			printf $s "     <row>\n";
 			printf $s "      <entry><literal>%s</literal></entry>\n",
-			  substr $wev->[1], 1, -1;
+			  $wev->[1];
 			printf $s "      <entry>%s</entry>\n", substr $wev->[2], 1, -1;
 			printf $s "     </row>\n";
 		}
diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt
index 7af1a61f95..3fabad96d9 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -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."
+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."
 
 
 #
@@ -69,14 +69,14 @@ WAIT_EVENT_WAL_WRITER_MAIN	"WalWriterMain"	"Waiting in main loop of WAL writer p
 
 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_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."
+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_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."
 
 
 #
@@ -88,59 +88,59 @@ WAIT_EVENT_WAL_SENDER_WRITE_DATA	"WalSenderWriteData"	"Waiting for any activity
 
 Section: ClassName - WaitEventIPC
 
-WAIT_EVENT_APPEND_READY	"AppendReady"	"Waiting for subplan nodes of an <literal>Append</literal> plan node to be ready."
-WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND	"ArchiveCleanupCommand"	"Waiting for <xref linkend="guc-archive-cleanup-command"/> to complete."
-WAIT_EVENT_ARCHIVE_COMMAND	"ArchiveCommand"	"Waiting for <xref linkend="guc-archive-command"/> 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 <literal>Gather</literal> 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_MQ_INTERNAL	"MessageQueueInternal"	"Waiting for another process to be attached to a shared message queue."
-WAIT_EVENT_MQ_PUT_MESSAGE	"MessageQueuePutMessage"	"Waiting to write a protocol message to a shared message queue."
-WAIT_EVENT_MQ_RECEIVE	"MessageQueueReceive"	"Waiting to receive bytes from a shared message queue."
-WAIT_EVENT_MQ_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 <command>CREATE INDEX</command> 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 <xref linkend="guc-recovery-end-command"/> 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 <xref linkend="guc-restore-command"/> to complete."
-WAIT_EVENT_SAFE_SNAPSHOT	"SafeSnapshot"	"Waiting to obtain a valid snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction."
-WAIT_EVENT_SYNC_REP	"SyncRep"	"Waiting for confirmation from a remote server during synchronous replication. Waiting to read or update information about the state of 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."
+WAIT_EVENT_APPEND_READY	AppendReady	"Waiting for subplan nodes of an <literal>Append</literal> plan node to be ready."
+WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND	ArchiveCleanupCommand	"Waiting for <xref linkend="guc-archive-cleanup-command"/> to complete."
+WAIT_EVENT_ARCHIVE_COMMAND	ArchiveCommand	"Waiting for <xref linkend="guc-archive-command"/> 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 <literal>Gather</literal> 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_MQ_INTERNAL	MessageQueueInternal	"Waiting for another process to be attached to a shared message queue."
+WAIT_EVENT_MQ_PUT_MESSAGE	MessageQueuePutMessage	"Waiting to write a protocol message to a shared message queue."
+WAIT_EVENT_MQ_RECEIVE	MessageQueueReceive	"Waiting to receive bytes from a shared message queue."
+WAIT_EVENT_MQ_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 <command>CREATE INDEX</command> 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 <xref linkend="guc-recovery-end-command"/> 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 <xref linkend="guc-restore-command"/> to complete."
+WAIT_EVENT_SAFE_SNAPSHOT	SafeSnapshot	"Waiting to obtain a valid snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction."
+WAIT_EVENT_SYNC_REP	SyncRep	"Waiting for confirmation from a remote server during synchronous replication. Waiting to read or update information about the state of 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."
 
 
 #
@@ -151,15 +151,15 @@ WAIT_EVENT_XACT_GROUP_UPDATE	"XactGroupUpdate"	"Waiting for the group leader to
 
 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 <function>pg_sleep</function> 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 (<filename>pg_wal</filename>, 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."
+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 <function>pg_sleep</function> 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 (<filename>pg_wal</filename>, 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."
 
 
 #
@@ -170,80 +170,80 @@ WAIT_EVENT_VACUUM_TRUNCATE	"VacuumTruncate"	"Waiting to acquire an exclusive loc
 
 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 <filename>pg_control</filename> file."
-WAIT_EVENT_CONTROL_FILE_SYNC	"ControlFileSync"	"Waiting for the <filename>pg_control</filename> file to reach durable storage. Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
-WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE	"ControlFileSyncUpdate"	"Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
-WAIT_EVENT_CONTROL_FILE_WRITE	"ControlFileWrite"	"Waiting for a write to the <filename>pg_control</filename> file. Waiting for a write to update the <filename>pg_control</filename> file."
-WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE	"ControlFileWriteUpdate"	"Waiting for a write to update the <filename>pg_control</filename> 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. Waiting for data to reach durable storage while assigning a new WAL sync method."
-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. Waiting for WAL buffers to be written to disk."
+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 <filename>pg_control</filename> file."
+WAIT_EVENT_CONTROL_FILE_SYNC	ControlFileSync	"Waiting for the <filename>pg_control</filename> file to reach durable storage. Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
+WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE	ControlFileSyncUpdate	"Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
+WAIT_EVENT_CONTROL_FILE_WRITE	ControlFileWrite	"Waiting for a write to the <filename>pg_control</filename> file. Waiting for a write to update the <filename>pg_control</filename> file."
+WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE	ControlFileWriteUpdate	"Waiting for a write to update the <filename>pg_control</filename> 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. Waiting for data to reach durable storage while assigning a new WAL sync method."
+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. Waiting for WAL buffers to be written to disk."
 
 
 #
@@ -252,7 +252,7 @@ WAIT_EVENT_WAL_WRITE	"WALWrite"	"Waiting for a write to a WAL file. Waiting for
 
 Section: ClassName - WaitEventBufferPin
 
-WAIT_EVENT_BUFFER_PIN	"BufferPin"	"Waiting to acquire an exclusive pin on a buffer."
+WAIT_EVENT_BUFFER_PIN	BufferPin	"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 buff
 
 Section: ClassName - WaitEventExtension
 
-WAIT_EVENT_EXTENSION	"Extension"	"Waiting in an extension."
+WAIT_EVENT_EXTENSION	Extension	"Waiting in an extension."
 
 #
 # Wait events - LWLock
@@ -272,81 +272,81 @@ WAIT_EVENT_EXTENSION	"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 <filename>pg_control</filename> 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 <filename>pg_internal.init</filename> 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 <filename>pg_filenode.map</filename> file (used to track the filenode assignments of certain system catalogs)."
-WAIT_EVENT_DOCONLY	"NotifySLRU"	"Waiting to access the <command>NOTIFY</command> message SLRU cache."
-WAIT_EVENT_DOCONLY	"NotifyQueue"	"Waiting to read or update <command>NOTIFY</command> 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 <filename>postgresql.auto.conf</filename> 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	"OldSnapshotTimeMap"	"Waiting to read or update old snapshot control information."
-WAIT_EVENT_DOCONLY	"LogicalRepWorker"	"Waiting to read or update the state of logical replication workers."
-WAIT_EVENT_DOCONLY	"XactTruncation"	"Waiting to execute <function>pg_xact_status</function> 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 <command>NOTIFY</command> message storage."
+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 <filename>pg_control</filename> 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 <filename>pg_internal.init</filename> 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 <filename>pg_filenode.map</filename> file (used to track the filenode assignments of certain system catalogs)."
+WAIT_EVENT_DOCONLY	NotifySLRU	"Waiting to access the <command>NOTIFY</command> message SLRU cache."
+WAIT_EVENT_DOCONLY	NotifyQueue	"Waiting to read or update <command>NOTIFY</command> 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 <filename>postgresql.auto.conf</filename> 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	OldSnapshotTimeMap	"Waiting to read or update old snapshot control information."
+WAIT_EVENT_DOCONLY	LogicalRepWorker	"Waiting to read or update the state of logical replication workers."
+WAIT_EVENT_DOCONLY	XactTruncation	"Waiting to execute <function>pg_xact_status</function> 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 <command>NOTIFY</command> message storage."
 
-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 <command>NOTIFY</command> 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 <quote>heavyweight</quote> 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."
+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 <command>NOTIFY</command> 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 <quote>heavyweight</quote> 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."
 
 #
 # Wait even - Lock
@@ -357,15 +357,15 @@ WAIT_EVENT_DOCONLY	"LogicalRepLauncherHash"	"Waiting to access logical replicati
 
 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 <structname>pg_database</structname>.<structfield>datfrozenxid</structfield> and <structname>pg_database</structname>.<structfield>datminmxid</structfield>."
-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 <xref linkend="transaction-id"/>."
-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."
+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 <structname>pg_database</structname>.<structfield>datfrozenxid</structfield> and <structname>pg_database</structname>.<structfield>datminmxid</structfield>."
+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 <xref linkend="transaction-id"/>."
+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."
-- 
2.40.1

From 8a826f4b502a2b3a55b4afc59ab8b3a042e1d623 Mon Sep 17 00:00:00 2001
From: Michael Paquier <mich...@paquier.xyz>
Date: Thu, 13 Jul 2023 09:52:37 +0900
Subject: [PATCH v2 2/4] Add information about line contents on parsing failure
 of wait_event_names.txt

The contents of the line whose parsing failed was not reported in the
error message produced by generate-wait_event_types.pl, making it harder
to debug.

Reported-by: Andres Freund
---
 src/backend/utils/activity/generate-wait_event_types.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/backend/utils/activity/generate-wait_event_types.pl
index 2a9e341c58..f63c991051 100644
--- a/src/backend/utils/activity/generate-wait_event_types.pl
+++ b/src/backend/utils/activity/generate-wait_event_types.pl
@@ -72,7 +72,7 @@ my @lines_sorted =
 # Read the sorted lines and populate the hash table
 foreach my $line (@lines_sorted)
 {
-	die "unable to parse wait_event_names.txt"
+	die "unable to parse wait_event_names.txt for line $line\n"
 	  unless $line =~ /^(\w+)\t+(\w+)\t+(\w+)\t+("\w.*\.")$/;
 
 	(   my $waitclassname,
-- 
2.40.1

From 4175198016bfb3e8c75ea4c54cdbc6ac393163f2 Mon Sep 17 00:00:00 2001
From: Michael Paquier <mich...@paquier.xyz>
Date: Sun, 9 Jul 2023 13:24:54 +0900
Subject: [PATCH v2 3/4] Rename wait events with more consistent camelcase
 style

This will help in the introduction of more simplifications with the
generation of wait event data using wait_event_names.txt.  The event
names used the same case-insensitive characters, hence applying lower()
or upper() to the monitoring queries allows the detection of the same
events as before this change.
---
 src/backend/libpq/pqmq.c                      |  2 +-
 src/backend/storage/ipc/shm_mq.c              |  6 +-
 .../utils/activity/wait_event_names.txt       | 90 +++++++++----------
 3 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/src/backend/libpq/pqmq.c b/src/backend/libpq/pqmq.c
index 39e77ef945..87b8570a42 100644
--- a/src/backend/libpq/pqmq.c
+++ b/src/backend/libpq/pqmq.c
@@ -182,7 +182,7 @@ mq_putmessage(char msgtype, const char *s, size_t len)
 			break;
 
 		(void) WaitLatch(MyLatch, WL_LATCH_SET | WL_EXIT_ON_PM_DEATH, 0,
-						 WAIT_EVENT_MQ_PUT_MESSAGE);
+						 WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE);
 		ResetLatch(MyLatch);
 		CHECK_FOR_INTERRUPTS();
 	}
diff --git a/src/backend/storage/ipc/shm_mq.c b/src/backend/storage/ipc/shm_mq.c
index d134a09a19..06d6b73527 100644
--- a/src/backend/storage/ipc/shm_mq.c
+++ b/src/backend/storage/ipc/shm_mq.c
@@ -1017,7 +1017,7 @@ shm_mq_send_bytes(shm_mq_handle *mqh, Size nbytes, const void *data,
 			 * cheaper than setting one that has been reset.
 			 */
 			(void) WaitLatch(MyLatch, WL_LATCH_SET | WL_EXIT_ON_PM_DEATH, 0,
-							 WAIT_EVENT_MQ_SEND);
+							 WAIT_EVENT_MESSAGE_QUEUE_SEND);
 
 			/* Reset the latch so we don't spin. */
 			ResetLatch(MyLatch);
@@ -1163,7 +1163,7 @@ shm_mq_receive_bytes(shm_mq_handle *mqh, Size bytes_needed, bool nowait,
 		 * setting one that has been reset.
 		 */
 		(void) WaitLatch(MyLatch, WL_LATCH_SET | WL_EXIT_ON_PM_DEATH, 0,
-						 WAIT_EVENT_MQ_RECEIVE);
+						 WAIT_EVENT_MESSAGE_QUEUE_RECEIVE);
 
 		/* Reset the latch so we don't spin. */
 		ResetLatch(MyLatch);
@@ -1252,7 +1252,7 @@ shm_mq_wait_internal(shm_mq *mq, PGPROC **ptr, BackgroundWorkerHandle *handle)
 
 		/* Wait to be signaled. */
 		(void) WaitLatch(MyLatch, WL_LATCH_SET | WL_EXIT_ON_PM_DEATH, 0,
-						 WAIT_EVENT_MQ_INTERNAL);
+						 WAIT_EVENT_MESSAGE_QUEUE_INTERNAL);
 
 		/* Reset the latch so we don't spin. */
 		ResetLatch(MyLatch);
diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt
index 3fabad96d9..c4967e274e 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -45,15 +45,15 @@
 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_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_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."
@@ -71,11 +71,11 @@ 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_WAL	WalSenderWaitForWAL	"Waiting for WAL to be flushed in WAL sender process."
+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_WAL	WalSenderWaitWal	"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."
 
 
@@ -93,10 +93,10 @@ WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND	ArchiveCleanupCommand	"Waiting for <xref link
 WAIT_EVENT_ARCHIVE_COMMAND	ArchiveCommand	"Waiting for <xref linkend="guc-archive-command"/> 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_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_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 <literal>Gather</literal> plan node."
@@ -119,14 +119,14 @@ WAIT_EVENT_LOGICAL_APPLY_SEND_DATA	LogicalApplySendData	"Waiting for a logical r
 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_MQ_INTERNAL	MessageQueueInternal	"Waiting for another process to be attached to a shared message queue."
-WAIT_EVENT_MQ_PUT_MESSAGE	MessageQueuePutMessage	"Waiting to write a protocol message to a shared message queue."
-WAIT_EVENT_MQ_RECEIVE	MessageQueueReceive	"Waiting to receive bytes from a shared message queue."
-WAIT_EVENT_MQ_SEND	MessageQueueSend	"Waiting to send bytes to a shared message queue."
+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 <command>CREATE INDEX</command> 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_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."
@@ -170,12 +170,12 @@ 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_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 <filename>pg_control</filename> file."
 WAIT_EVENT_CONTROL_FILE_SYNC	ControlFileSync	"Waiting for the <filename>pg_control</filename> file to reach durable storage. Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
 WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE	ControlFileSyncUpdate	"Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
@@ -191,15 +191,15 @@ WAIT_EVENT_DATA_FILE_READ	DataFileRead	"Waiting for a read from a relation data
 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_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_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."
@@ -216,10 +216,10 @@ WAIT_EVENT_REPLICATION_SLOT_READ	ReplicationSlotRead	"Waiting for a read from a
 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_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."
@@ -232,18 +232,18 @@ WAIT_EVENT_TWOPHASE_FILE_READ	TwophaseFileRead	"Waiting for a read of a two phas
 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. Waiting for data to reach durable storage while assigning a new WAL sync method."
-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. Waiting for WAL buffers to be written to disk."
+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. Waiting for data to reach durable storage while assigning a new WAL sync method."
+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. Waiting for WAL buffers to be written to disk."
 
 
 #
-- 
2.40.1

From cef05e2a2b8aa70fa43496e3fdd6e0c5a0982e14 Mon Sep 17 00:00:00 2001
From: Michael Paquier <mich...@paquier.xyz>
Date: Thu, 13 Jul 2023 10:14:47 +0900
Subject: [PATCH v2 4/4] Remove column for enum elements in
 wait_event_names.txt

This file is now made of two columns, removing the column listing the
enum elements for each wait event class:
- Camelcase event name used in pg_stat_activity.  There are now
unquoted.
- Description of the documentation.

The enum elements are generated from what is now the first column.
---
 .../activity/generate-wait_event_types.pl     |  24 +-
 .../utils/activity/wait_event_names.txt       | 503 +++++++++---------
 2 files changed, 266 insertions(+), 261 deletions(-)

diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/backend/utils/activity/generate-wait_event_types.pl
index f63c991051..1d2489f268 100644
--- a/src/backend/utils/activity/generate-wait_event_types.pl
+++ b/src/backend/utils/activity/generate-wait_event_types.pl
@@ -73,20 +73,24 @@ my @lines_sorted =
 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 $waiteventdescription, my $waitevendocsentence) =
+	  split(/\t/, $line);
 
+	# Generate the element name for the enums based on the
+	# description.  Camelcase strings like "FooBarName"
+	# are converted to WAIT_EVENT_FOO_BAR_NAME.
+	my $waiteventenumname = $waiteventdescription;
+	# Add underscores between sequences of lower-case and upper-case
+	# characters, then upper-case the whole.
+	$waiteventenumname =~ s/([a-z])([A-Z])/$1_$2/g;
+	$waiteventenumname = uc($waiteventenumname);
+	$waiteventenumname = "WAIT_EVENT_$waiteventenumname";
+
+	# 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 c4967e274e..20f58c5d25 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -7,10 +7,16 @@
 # 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:
+#
+#   "format in the system views" "description in the docs"
+#
 # The files generated from this one are:
 #
 #   src/backend/utils/activity/wait_event_types.h
-#      typedef enum definitions for wait events.
+#      typedef enum definitions for wait events, generated from the first
+#      field.
 #
 #   src/backend/utils/activity/pgstat_wait_event.c
 #      C functions to get the wait event name based on the enum.
@@ -18,11 +24,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 +45,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."
+ArchiverMain	"Waiting in main loop of 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."
+CheckpointerMain	"Waiting in main loop of checkpointer process."
+LogicalApplyMain	"Waiting in main loop of logical replication apply process."
+LogicalLauncherMain	"Waiting in main loop of logical replication launcher process."
+LogicalParallelApplyMain	"Waiting in main loop of logical replication parallel apply process."
+RecoveryWalStream	"Waiting in main loop of startup process for WAL to arrive, during streaming 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."
 
 
 #
@@ -69,14 +70,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_WAL	WalSenderWaitWal	"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."
+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 a GSSAPI session."
+LibpqwalreceiverConnect	"Waiting in WAL receiver to establish connection to remote server."
+LibpqwalreceiverReceive	"Waiting in WAL receiver to receive data from remote server."
+SslOpenServer	"Waiting for SSL while attempting connection."
+WalSenderWaitWal	"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."
 
 
 #
@@ -88,59 +89,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 <literal>Append</literal> plan node to be ready."
-WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND	ArchiveCleanupCommand	"Waiting for <xref linkend="guc-archive-cleanup-command"/> to complete."
-WAIT_EVENT_ARCHIVE_COMMAND	ArchiveCommand	"Waiting for <xref linkend="guc-archive-command"/> 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 <literal>Gather</literal> 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 <command>CREATE INDEX</command> 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 <xref linkend="guc-recovery-end-command"/> 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 <xref linkend="guc-restore-command"/> to complete."
-WAIT_EVENT_SAFE_SNAPSHOT	SafeSnapshot	"Waiting to obtain a valid snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction."
-WAIT_EVENT_SYNC_REP	SyncRep	"Waiting for confirmation from a remote server during synchronous replication. Waiting to read or update information about the state of 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."
+AppendReady	"Waiting for subplan nodes of an <literal>Append</literal> plan node to be ready."
+ArchiveCleanupCommand	"Waiting for <xref linkend="guc-archive-cleanup-command"/> to complete."
+ArchiveCommand	"Waiting for <xref linkend="guc-archive-command"/> to complete."
+BackendTermination	"Waiting for the termination of another backend."
+BackupWaitWalArchive	"Waiting for WAL files required for a backup to be successfully 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."
+BufferIo	"Waiting for buffer I/O to complete."
+CheckpointDone	"Waiting for a checkpoint to complete."
+CheckpointStart	"Waiting for a checkpoint to start."
+ExecuteGather	"Waiting for activity from a child process while executing a <literal>Gather</literal> plan node."
+HashBatchAllocate	"Waiting for an elected Parallel Hash participant to allocate a hash table."
+HashBatchElect	"Waiting to elect a Parallel Hash participant to allocate a hash table."
+HashBatchLoad	"Waiting for other Parallel Hash participants to finish loading a hash table."
+HashBuildAllocate	"Waiting for an elected Parallel Hash participant to allocate the initial hash table."
+HashBuildElect	"Waiting to elect a Parallel Hash participant to allocate the initial hash table."
+HashBuildHashInner	"Waiting for other Parallel Hash participants to finish hashing the inner relation."
+HashBuildHashOuter	"Waiting for other Parallel Hash participants to finish partitioning the outer relation."
+HashGrowBatchesDecide	"Waiting to elect a Parallel Hash participant to decide on future batch growth."
+HashGrowBatchesElect	"Waiting to elect a Parallel Hash participant to allocate more batches."
+HashGrowBatchesFinish	"Waiting for an elected Parallel Hash participant to decide on future batch growth."
+HashGrowBatchesReallocate	"Waiting for an elected Parallel Hash participant to allocate more batches."
+HashGrowBatchesRepartition	"Waiting for other Parallel Hash participants to finish repartitioning."
+HashGrowBucketsElect	"Waiting to elect a Parallel Hash participant to allocate more buckets."
+HashGrowBucketsReallocate	"Waiting for an elected Parallel Hash participant to finish allocating more buckets."
+HashGrowBucketsReinsert	"Waiting for other Parallel Hash participants to finish inserting tuples into new buckets."
+LogicalApplySendData	"Waiting for a logical replication leader apply process to send data to a parallel apply process."
+LogicalParallelApplyStateChange	"Waiting for a logical replication parallel apply process to change state."
+LogicalSyncData	"Waiting for a logical replication remote server to send data for initial table synchronization."
+LogicalSyncStateChange	"Waiting for a logical replication remote server to change state."
+MessageQueueInternal	"Waiting for another process to be attached to a shared message queue."
+MessageQueuePutMessage	"Waiting to write a protocol message to a shared message queue."
+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 <command>CREATE INDEX</command> workers to finish heap scan."
+ParallelFinish	"Waiting for parallel workers to finish computing."
+ProcarrayGroupUpdate	"Waiting for the group leader to clear the transaction ID at end of a parallel operation."
+ProcSignalBarrier	"Waiting for a barrier event to be processed by all backends."
+Promote	"Waiting for standby promotion."
+RecoveryConflictSnapshot	"Waiting for recovery conflict resolution for a vacuum cleanup."
+RecoveryConflictTablespace	"Waiting for recovery conflict resolution for dropping a tablespace."
+RecoveryEndCommand	"Waiting for <xref linkend="guc-recovery-end-command"/> to complete."
+RecoveryPause	"Waiting for recovery to be resumed."
+ReplicationOriginDrop	"Waiting for a replication origin to become inactive so it can be dropped."
+ReplicationSlotDrop	"Waiting for a replication slot to become inactive so it can be dropped."
+RestoreCommand	"Waiting for <xref linkend="guc-restore-command"/> to complete."
+SafeSnapshot	"Waiting to obtain a valid snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction."
+SyncRep	"Waiting for confirmation from a remote server during synchronous replication. Waiting to read or update information about the state of synchronous replication."
+WalReceiverExit	"Waiting for the WAL receiver to exit."
+WalReceiverWaitStart	"Waiting for startup process to send initial data for streaming replication."
+XactGroupUpdate	"Waiting for the group leader to update transaction status at end of a parallel operation."
 
 
 #
@@ -151,15 +152,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 <function>pg_sleep</function> 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 (<filename>pg_wal</filename>, 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."
+BaseBackupThrottle	"Waiting during base backup when throttling activity."
+CheckpointWriteDelay	"Waiting between writes while performing a checkpoint."
+PgSleep	"Waiting due to a call to <function>pg_sleep</function> or a sibling function."
+RecoveryApplyDelay	"Waiting to apply WAL during recovery because of a delay setting."
+RecoveryRetrieveRetryInterval	"Waiting during recovery when WAL data is not available from any source (<filename>pg_wal</filename>, archive or stream)."
+RegisterSyncRequest	"Waiting while sending synchronization requests to the checkpointer, because the request queue is full."
+SpinDelay	"Waiting while acquiring a contended spinlock."
+VacuumDelay	"Waiting in a cost-based vacuum delay point."
+VacuumTruncate	"Waiting to acquire an exclusive lock to truncate off any empty pages at the end of a table vacuumed."
 
 
 #
@@ -170,80 +171,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 <filename>pg_control</filename> file."
-WAIT_EVENT_CONTROL_FILE_SYNC	ControlFileSync	"Waiting for the <filename>pg_control</filename> file to reach durable storage. Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
-WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE	ControlFileSyncUpdate	"Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
-WAIT_EVENT_CONTROL_FILE_WRITE	ControlFileWrite	"Waiting for a write to the <filename>pg_control</filename> file. Waiting for a write to update the <filename>pg_control</filename> file."
-WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE	ControlFileWriteUpdate	"Waiting for a write to update the <filename>pg_control</filename> 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. Waiting for data to reach durable storage while assigning a new WAL sync method."
-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. Waiting for WAL buffers to be written to disk."
+BasebackupRead	"Waiting for base backup to read from a file."
+BasebackupSync	"Waiting for data written by a base backup to reach durable storage."
+BasebackupWrite	"Waiting for base backup to write to a file."
+BuffileRead	"Waiting for a read from a buffered file."
+BuffileWrite	"Waiting for a write to a buffered file."
+BuffileTruncate	"Waiting for a buffered file to be truncated."
+ControlFileRead	"Waiting for a read from the <filename>pg_control</filename> file."
+ControlFileSync	"Waiting for the <filename>pg_control</filename> file to reach durable storage. Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
+ControlFileSyncUpdate	"Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
+ControlFileWrite	"Waiting for a write to the <filename>pg_control</filename> file. Waiting for a write to update the <filename>pg_control</filename> file."
+ControlFileWriteUpdate	"Waiting for a write to update the <filename>pg_control</filename> 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 durable storage."
+DataFileImmediateSync	"Waiting for an immediate synchronization of a relation data file to durable 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 durable storage."
+DataFileTruncate	"Waiting for a relation data file to be truncated."
+DataFileWrite	"Waiting for a write to a relation data file."
+DsmAllocate	"Waiting for a dynamic shared memory segment to be allocated."
+DsmFillZeroWrite	"Waiting to fill a dynamic shared memory backing file with zeroes."
+LockFileAddtodatadirRead	"Waiting for a read while adding a line to the data directory lock file."
+LockFileAddtodatadirSync	"Waiting for data to reach durable storage while adding a line to the data directory lock file."
+LockFileAddtodatadirWrite	"Waiting for a write while adding a line to the data directory lock file."
+LockFileCreateRead	"Waiting to read while creating the data directory lock file."
+LockFileCreateSync	"Waiting for data to reach durable storage while creating the data directory lock file."
+LockFileCreateWrite	"Waiting for a write while creating the data directory lock file."
+LockFileRecheckdatadirRead	"Waiting for a read during recheck of the data directory lock file."
+LogicalRewriteCheckpointSync	"Waiting for logical rewrite mappings to reach durable storage during a checkpoint."
+LogicalRewriteMappingSync	"Waiting for mapping data to reach durable storage during a logical rewrite."
+LogicalRewriteMappingWrite	"Waiting for a write of mapping data during a logical rewrite."
+LogicalRewriteSync	"Waiting for logical rewrite mappings to reach durable storage."
+LogicalRewriteTruncate	"Waiting for truncate of mapping data during a logical rewrite."
+LogicalRewriteWrite	"Waiting for a write of logical rewrite mappings."
+RelationMapRead	"Waiting for a read of the relation map file."
+RelationMapReplace	"Waiting for durable replacement of a relation map file."
+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 buffer management."
+ReplicationSlotRead	"Waiting for a read from a replication slot control file."
+ReplicationSlotRestoreSync	"Waiting for a replication slot control file to reach durable storage while restoring it to memory."
+ReplicationSlotSync	"Waiting for a replication slot control file to reach durable storage."
+ReplicationSlotWrite	"Waiting for a write to a replication slot control file."
+SlruFlushSync	"Waiting for SLRU data to reach durable storage during a checkpoint or database shutdown."
+SlruRead	"Waiting for a read of an SLRU page."
+SlruSync	"Waiting for SLRU data to reach durable storage following a page write."
+SlruWrite	"Waiting for a write of an SLRU page."
+SnapbuildRead	"Waiting for a read of a serialized historical catalog snapshot."
+SnapbuildSync	"Waiting for a serialized historical catalog snapshot to reach durable storage."
+SnapbuildWrite	"Waiting for a write of a serialized historical catalog snapshot."
+TimelineHistoryFileSync	"Waiting for a timeline history file received via streaming replication to reach durable storage."
+TimelineHistoryFileWrite	"Waiting for a write of a timeline history file received via streaming replication."
+TimelineHistoryRead	"Waiting for a read of a timeline history file."
+TimelineHistorySync	"Waiting for a newly created timeline history file to reach durable storage."
+TimelineHistoryWrite	"Waiting for a write of a newly created timeline history file."
+TwophaseFileRead	"Waiting for a read of a two phase state file."
+TwophaseFileSync	"Waiting for a two phase state file to reach durable storage."
+TwophaseFileWrite	"Waiting for a write of a two phase state file."
+VersionFileWrite	"Waiting for the version file to be written while creating a database."
+WalsenderTimelineHistoryRead	"Waiting for a read from a timeline history file during a walsender timeline command."
+WalBootstrapSync	"Waiting for WAL to reach durable storage during bootstrapping."
+WalBootstrapWrite	"Waiting for a write of a WAL page during bootstrapping."
+WalCopyRead	"Waiting for a read when creating a new WAL segment by copying an existing one."
+WalCopySync	"Waiting for a new WAL segment created by copying an existing one to reach durable storage."
+WalCopyWrite	"Waiting for a write when creating a new WAL segment by copying an existing one."
+WalInitSync	"Waiting for a newly initialized WAL file to reach durable storage."
+WalInitWrite	"Waiting for a write while initializing a new WAL file."
+WalRead	"Waiting for a read from a WAL file."
+WalSync	"Waiting for a WAL file to reach durable storage. Waiting for data to reach durable storage while assigning a new WAL sync method."
+WalSyncMethodAssign	"Waiting for data to reach durable storage while assigning a new WAL sync method."
+WalWrite	"Waiting for a write to a WAL file. Waiting for WAL buffers to be written to disk."
 
 
 #
@@ -252,7 +253,7 @@ WAIT_EVENT_WAL_WRITE	WalWrite	"Waiting for a write to a WAL file. Waiting for WA
 
 Section: ClassName - WaitEventBufferPin
 
-WAIT_EVENT_BUFFER_PIN	BufferPin	"Waiting to acquire an exclusive pin on a buffer."
+BufferPin	"Waiting to acquire an exclusive pin on a buffer."
 
 
 #
@@ -261,7 +262,7 @@ WAIT_EVENT_BUFFER_PIN	BufferPin	"Waiting to acquire an exclusive pin on a buffer
 
 Section: ClassName - WaitEventExtension
 
-WAIT_EVENT_EXTENSION	Extension	"Waiting in an extension."
+Extension	"Waiting in an extension."
 
 #
 # Wait events - LWLock
@@ -272,81 +273,81 @@ WAIT_EVENT_EXTENSION	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 <filename>pg_control</filename> 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 <filename>pg_internal.init</filename> 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 <filename>pg_filenode.map</filename> file (used to track the filenode assignments of certain system catalogs)."
-WAIT_EVENT_DOCONLY	NotifySLRU	"Waiting to access the <command>NOTIFY</command> message SLRU cache."
-WAIT_EVENT_DOCONLY	NotifyQueue	"Waiting to read or update <command>NOTIFY</command> 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 <filename>postgresql.auto.conf</filename> 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	OldSnapshotTimeMap	"Waiting to read or update old snapshot control information."
-WAIT_EVENT_DOCONLY	LogicalRepWorker	"Waiting to read or update the state of logical replication workers."
-WAIT_EVENT_DOCONLY	XactTruncation	"Waiting to execute <function>pg_xact_status</function> 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 <command>NOTIFY</command> message storage."
+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 <filename>pg_control</filename> 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 <filename>pg_internal.init</filename> 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 <filename>pg_filenode.map</filename> file (used to track the filenode assignments of certain system catalogs)."
+NotifySLRU	"Waiting to access the <command>NOTIFY</command> message SLRU cache."
+NotifyQueue	"Waiting to read or update <command>NOTIFY</command> 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 <filename>postgresql.auto.conf</filename> 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."
+OldSnapshotTimeMap	"Waiting to read or update old snapshot control information."
+LogicalRepWorker	"Waiting to read or update the state of logical replication workers."
+XactTruncation	"Waiting to execute <function>pg_xact_status</function> 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 <command>NOTIFY</command> message storage."
 
-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 <command>NOTIFY</command> 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 <quote>heavyweight</quote> 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."
+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 <command>NOTIFY</command> 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 <quote>heavyweight</quote> 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 even - Lock
@@ -357,15 +358,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 <structname>pg_database</structname>.<structfield>datfrozenxid</structfield> and <structname>pg_database</structname>.<structfield>datminmxid</structfield>."
-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 <xref linkend="transaction-id"/>."
-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 <structname>pg_database</structname>.<structfield>datfrozenxid</structfield> and <structname>pg_database</structname>.<structfield>datminmxid</structfield>."
+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 <xref linkend="transaction-id"/>."
+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.40.1

Attachment: signature.asc
Description: PGP signature

Reply via email to