public inbox for [email protected]
help / color / mirror / Atom feedFrom: Drouvot, Bertrand <[email protected]>
To: Michael Paquier <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Cc: Alvaro Herrera <[email protected]>
Subject: Re: Autogenerate some wait events code and documentation
Date: Tue, 5 Sep 2023 11:06:36 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<ZOxVHQwEC/9X/p/[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
Hi,
On 9/5/23 7:44 AM, Michael Paquier wrote:
> On Mon, Sep 04, 2023 at 02:14:58PM +0200, Drouvot, Bertrand wrote:
>> # Build the descriptions. There are in camel-case.
>> # LWLock and Lock classes do not need any modifications.
>>
>> Nit: 2 whitespaces before "There are in camel"
>
> The whitespaces are intentional,
Oh ok, out of curiosity, why are 2 whitespaces intentional?
>> Then, the only diff is:
>>
>> < Client,WalSenderWaitWal,Waiting for WAL to be flushed in WAL sender process
>> ---
>>> Client,WalSenderWaitForWAL,Waiting for WAL to be flushed in WAL sender process
>>
>> That said, it looks good to me.
>
> Ah, good catch. I did not think about cross-checking the data in the
> new view before and after the patch set. This rename needs to happen
> in 0001.
>
> Please find v5 attached. How does that look?
Thanks!
That looks good. I just noticed that v5 did re-introduce the "issue" that
was fixed in 00e49233a9.
Also, v5 needs a rebase due to f691f5b80a.
Attaching v6 taking care of the 2 points mentioned above.
Regards,
--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com
From 6a94fc1a00ae784b12e15f498a5afba4020377f9 Mon Sep 17 00:00:00 2001
From: Michael Paquier <[email protected]>
Date: Tue, 5 Sep 2023 14:32:37 +0900
Subject: [PATCH v6 1/2] 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/replication/walsender.c | 2 +-
src/backend/storage/ipc/shm_mq.c | 6 +-
.../utils/activity/wait_event_names.txt | 90 +++++++++----------
4 files changed, 50 insertions(+), 50 deletions(-)
3.2% src/backend/storage/ipc/
93.3% src/backend/utils/activity/
3.3% src/backend/
diff --git a/src/backend/libpq/pqmq.c b/src/backend/libpq/pqmq.c
index 253181f47a..38b042804c 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/replication/walsender.c b/src/backend/replication/walsender.c
index 46e48492ac..e250b0567e 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -1654,7 +1654,7 @@ WalSndWaitForWal(XLogRecPtr loc)
if (pq_is_send_pending())
wakeEvents |= WL_SOCKET_WRITEABLE;
- WalSndWait(wakeEvents, sleeptime, WAIT_EVENT_WAL_SENDER_WAIT_WAL);
+ WalSndWait(wakeEvents, sleeptime, WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL);
}
/* reactivate latch so WalSndLoop knows to continue */
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 06a1a3df9b..ca28d9e764 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_FOR_WAL WalSenderWaitForWal "Waiting for WAL to be flushed in WAL sender process."
WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity when processing replies from WAL receiver in WAL sender process."
@@ -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."
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."
-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."
+WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ WalsenderTimelineHistoryRead "Waiting for a read from a timeline history file during a walsender timeline command."
+WAIT_EVENT_WAL_BOOTSTRAP_SYNC WalBootstrapSync "Waiting for WAL to reach durable storage during bootstrapping."
+WAIT_EVENT_WAL_BOOTSTRAP_WRITE WalBootstrapWrite "Waiting for a write of a WAL page during bootstrapping."
+WAIT_EVENT_WAL_COPY_READ WalCopyRead "Waiting for a read when creating a new WAL segment by copying an existing one."
+WAIT_EVENT_WAL_COPY_SYNC WalCopySync "Waiting for a new WAL segment created by copying an existing one to reach durable storage."
+WAIT_EVENT_WAL_COPY_WRITE WalCopyWrite "Waiting for a write when creating a new WAL segment by copying an existing one."
+WAIT_EVENT_WAL_INIT_SYNC WalInitSync "Waiting for a newly initialized WAL file to reach durable storage."
+WAIT_EVENT_WAL_INIT_WRITE WalInitWrite "Waiting for a write while initializing a new WAL file."
+WAIT_EVENT_WAL_READ WalRead "Waiting for a read from a WAL file."
+WAIT_EVENT_WAL_SYNC WalSync "Waiting for a WAL file to reach durable storage."
+WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WalSyncMethodAssign "Waiting for data to reach durable storage while assigning a new WAL sync method."
+WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file."
#
--
2.34.1
From 6e32a44cf27ddde43445a67a2b3f5e2adad6170c Mon Sep 17 00:00:00 2001
From: Michael Paquier <[email protected]>
Date: Tue, 5 Sep 2023 14:39:58 +0900
Subject: [PATCH v6 2/2] Remove column for wait event names in
wait_event_names.txt
This file is now made of two columns, removing the column listing the
descriptions for each wait event class:
- Typedef enum definition, without the prefix "WAIT_EVENT_", for
simplicity.
- Description in the documentation.
The wait event names are generated from the enum objects in camelcase, with
the underscores removed.
---
.../activity/generate-wait_event_types.pl | 40 +-
.../utils/activity/wait_event_names.txt | 502 +++++++++---------
2 files changed, 279 insertions(+), 263 deletions(-)
100.0% src/backend/utils/activity/
diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/backend/utils/activity/generate-wait_event_types.pl
index 23eb3b1f57..046be2cb70 100644
--- a/src/backend/utils/activity/generate-wait_event_types.pl
+++ b/src/backend/utils/activity/generate-wait_event_types.pl
@@ -65,29 +65,45 @@ while (<$wait_event_names>)
push(@lines, $section_name . "\t" . $_);
}
-# Sort the lines based on the third column.
+# Sort the lines based on the second column.
# uc() is being used to force the comparison to be case-insensitive.
my @lines_sorted =
- sort { uc((split(/\t/, $a))[2]) cmp uc((split(/\t/, $b))[2]) } @lines;
+ sort { uc((split(/\t/, $a))[1]) cmp uc((split(/\t/, $b))[1]) } @lines;
# Read the sorted lines and populate the hash table
foreach my $line (@lines_sorted)
{
die "unable to parse wait_event_names.txt for line $line\n"
- unless $line =~ /^(\w+)\t+(\w+)\t+(\w+)\t+("\w.*\.")$/;
+ unless $line =~ /^(\w+)\t+(\w+)\t+("\w.*\.")$/;
- ( my $waitclassname,
- my $waiteventenumname,
- my $waiteventdescription,
- my $waitevendocsentence) = split(/\t/, $line);
+ (my $waitclassname, my $waiteventname, my $waitevendocsentence) =
+ split(/\t/, $line);
+ # Generate the element name for the enums based on the
+ # description. The C symbols are prefixed with "WAIT_EVENT_".
+ my $waiteventenumname = "WAIT_EVENT_$waiteventname";
+
+ # Build the descriptions. These are in camel-case.
+ # LWLock and Lock classes do not need any modifications.
+ my $waiteventdescription = '';
+ if ( $waitclassname eq 'WaitEventLWLock'
+ || $waitclassname eq 'WaitEventLock')
+ {
+ $waiteventdescription = $waiteventname;
+ }
+ else
+ {
+ my @waiteventparts = split("_", $waiteventname);
+ foreach my $waiteventpart (@waiteventparts)
+ {
+ $waiteventdescription .= substr($waiteventpart, 0, 1)
+ . lc(substr($waiteventpart, 1, length($waiteventpart)));
+ }
+ }
+
+ # Store the event into the list for each class.
my @waiteventlist =
[ $waiteventenumname, $waiteventdescription, $waitevendocsentence ];
- my $trimmedwaiteventname = $waiteventenumname;
- $trimmedwaiteventname =~ s/^WAIT_EVENT_//;
-
- die "wait event names must start with 'WAIT_EVENT_'"
- if ($trimmedwaiteventname eq $waiteventenumname);
push(@{ $hashwe{$waitclassname} }, @waiteventlist);
}
diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt
index ca28d9e764..9c5fdeb3ca 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -7,6 +7,11 @@
# This list serves as the basis for generating source and documentation files
# related to wait events.
#
+# This file defines one wait event per line, with the following
+# tab-separated fields:
+#
+# "Typedef enum definitions" "description in the docs"
+#
# The files generated from this one are:
#
# src/backend/utils/activity/wait_event_types.h
@@ -18,11 +23,6 @@
# src/backend/utils/activity/wait_event_types.sgml
# SGML tables of wait events for inclusion in the documentation.
#
-# This file defines one wait event per line, with the following
-# tab-separated fields:
-#
-# "C symbol in enums" "format in the system views" "description in the docs"
-#
# When adding a new wait event, make sure it is placed in the appropriate
# ClassName section.
#
@@ -44,19 +44,19 @@
Section: ClassName - WaitEventActivity
-WAIT_EVENT_ARCHIVER_MAIN ArchiverMain "Waiting in main loop of archiver process."
-WAIT_EVENT_AUTOVACUUM_MAIN AutovacuumMain "Waiting in main loop of autovacuum launcher process."
-WAIT_EVENT_BGWRITER_HIBERNATE BgwriterHibernate "Waiting in background writer process, hibernating."
-WAIT_EVENT_BGWRITER_MAIN BgwriterMain "Waiting in main loop of background writer process."
-WAIT_EVENT_CHECKPOINTER_MAIN CheckpointerMain "Waiting in main loop of checkpointer process."
-WAIT_EVENT_LOGICAL_APPLY_MAIN LogicalApplyMain "Waiting in main loop of logical replication apply process."
-WAIT_EVENT_LOGICAL_LAUNCHER_MAIN LogicalLauncherMain "Waiting in main loop of logical replication launcher process."
-WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN LogicalParallelApplyMain "Waiting in main loop of logical replication parallel apply process."
-WAIT_EVENT_RECOVERY_WAL_STREAM RecoveryWalStream "Waiting in main loop of startup process for WAL to arrive, during streaming recovery."
-WAIT_EVENT_SYSLOGGER_MAIN SysloggerMain "Waiting in main loop of syslogger process."
-WAIT_EVENT_WAL_RECEIVER_MAIN WalReceiverMain "Waiting in main loop of WAL receiver process."
-WAIT_EVENT_WAL_SENDER_MAIN WalSenderMain "Waiting in main loop of WAL sender process."
-WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writer process."
+ARCHIVER_MAIN "Waiting in main loop of archiver process."
+AUTOVACUUM_MAIN "Waiting in main loop of autovacuum launcher process."
+BGWRITER_HIBERNATE "Waiting in background writer process, hibernating."
+BGWRITER_MAIN "Waiting in main loop of background writer process."
+CHECKPOINTER_MAIN "Waiting in main loop of checkpointer process."
+LOGICAL_APPLY_MAIN "Waiting in main loop of logical replication apply process."
+LOGICAL_LAUNCHER_MAIN "Waiting in main loop of logical replication launcher process."
+LOGICAL_PARALLEL_APPLY_MAIN "Waiting in main loop of logical replication parallel apply process."
+RECOVERY_WAL_STREAM "Waiting in main loop of startup process for WAL to arrive, during streaming recovery."
+SYSLOGGER_MAIN "Waiting in main loop of syslogger process."
+WAL_RECEIVER_MAIN "Waiting in main loop of WAL receiver process."
+WAL_SENDER_MAIN "Waiting in main loop of WAL sender process."
+WAL_WRITER_MAIN "Waiting in main loop of WAL writer process."
#
@@ -69,14 +69,14 @@ WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writer pro
Section: ClassName - WaitEventClient
-WAIT_EVENT_CLIENT_READ ClientRead "Waiting to read data from the client."
-WAIT_EVENT_CLIENT_WRITE ClientWrite "Waiting to write data to the client."
-WAIT_EVENT_GSS_OPEN_SERVER GssOpenServer "Waiting to read data from the client while establishing a GSSAPI session."
-WAIT_EVENT_LIBPQWALRECEIVER_CONNECT LibpqwalreceiverConnect "Waiting in WAL receiver to establish connection to remote server."
-WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE LibpqwalreceiverReceive "Waiting in WAL receiver to receive data from remote server."
-WAIT_EVENT_SSL_OPEN_SERVER SslOpenServer "Waiting for SSL while attempting connection."
-WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL WalSenderWaitForWal "Waiting for WAL to be flushed in WAL sender process."
-WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity when processing replies from WAL receiver in WAL sender process."
+CLIENT_READ "Waiting to read data from the client."
+CLIENT_WRITE "Waiting to write data to the client."
+GSS_OPEN_SERVER "Waiting to read data from the client while establishing a GSSAPI session."
+LIBPQWALRECEIVER_CONNECT "Waiting in WAL receiver to establish connection to remote server."
+LIBPQWALRECEIVER_RECEIVE "Waiting in WAL receiver to receive data from remote server."
+SSL_OPEN_SERVER "Waiting for SSL while attempting connection."
+WAL_SENDER_WAIT_FOR_WAL "Waiting for WAL to be flushed in WAL sender process."
+WAL_SENDER_WRITE_DATA "Waiting for any activity when processing replies from WAL receiver in WAL sender process."
#
@@ -88,59 +88,59 @@ WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity wh
Section: ClassName - WaitEventIPC
-WAIT_EVENT_APPEND_READY AppendReady "Waiting for subplan nodes of an <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."
-WAIT_EVENT_WAL_RECEIVER_EXIT WalReceiverExit "Waiting for the WAL receiver to exit."
-WAIT_EVENT_WAL_RECEIVER_WAIT_START WalReceiverWaitStart "Waiting for startup process to send initial data for streaming replication."
-WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting for the group leader to update transaction status at end of a parallel operation."
+APPEND_READY "Waiting for subplan nodes of an <literal>Append</literal> plan node to be ready."
+ARCHIVE_CLEANUP_COMMAND "Waiting for <xref linkend="guc-archive-cleanup-command"/> to complete."
+ARCHIVE_COMMAND "Waiting for <xref linkend="guc-archive-command"/> to complete."
+BACKEND_TERMINATION "Waiting for the termination of another backend."
+BACKUP_WAIT_WAL_ARCHIVE "Waiting for WAL files required for a backup to be successfully archived."
+BGWORKER_SHUTDOWN "Waiting for background worker to shut down."
+BGWORKER_STARTUP "Waiting for background worker to start up."
+BTREE_PAGE "Waiting for the page number needed to continue a parallel B-tree scan to become available."
+BUFFER_IO "Waiting for buffer I/O to complete."
+CHECKPOINT_DONE "Waiting for a checkpoint to complete."
+CHECKPOINT_START "Waiting for a checkpoint to start."
+EXECUTE_GATHER "Waiting for activity from a child process while executing a <literal>Gather</literal> plan node."
+HASH_BATCH_ALLOCATE "Waiting for an elected Parallel Hash participant to allocate a hash table."
+HASH_BATCH_ELECT "Waiting to elect a Parallel Hash participant to allocate a hash table."
+HASH_BATCH_LOAD "Waiting for other Parallel Hash participants to finish loading a hash table."
+HASH_BUILD_ALLOCATE "Waiting for an elected Parallel Hash participant to allocate the initial hash table."
+HASH_BUILD_ELECT "Waiting to elect a Parallel Hash participant to allocate the initial hash table."
+HASH_BUILD_HASH_INNER "Waiting for other Parallel Hash participants to finish hashing the inner relation."
+HASH_BUILD_HASH_OUTER "Waiting for other Parallel Hash participants to finish partitioning the outer relation."
+HASH_GROW_BATCHES_DECIDE "Waiting to elect a Parallel Hash participant to decide on future batch growth."
+HASH_GROW_BATCHES_ELECT "Waiting to elect a Parallel Hash participant to allocate more batches."
+HASH_GROW_BATCHES_FINISH "Waiting for an elected Parallel Hash participant to decide on future batch growth."
+HASH_GROW_BATCHES_REALLOCATE "Waiting for an elected Parallel Hash participant to allocate more batches."
+HASH_GROW_BATCHES_REPARTITION "Waiting for other Parallel Hash participants to finish repartitioning."
+HASH_GROW_BUCKETS_ELECT "Waiting to elect a Parallel Hash participant to allocate more buckets."
+HASH_GROW_BUCKETS_REALLOCATE "Waiting for an elected Parallel Hash participant to finish allocating more buckets."
+HASH_GROW_BUCKETS_REINSERT "Waiting for other Parallel Hash participants to finish inserting tuples into new buckets."
+LOGICAL_APPLY_SEND_DATA "Waiting for a logical replication leader apply process to send data to a parallel apply process."
+LOGICAL_PARALLEL_APPLY_STATE_CHANGE "Waiting for a logical replication parallel apply process to change state."
+LOGICAL_SYNC_DATA "Waiting for a logical replication remote server to send data for initial table synchronization."
+LOGICAL_SYNC_STATE_CHANGE "Waiting for a logical replication remote server to change state."
+MESSAGE_QUEUE_INTERNAL "Waiting for another process to be attached to a shared message queue."
+MESSAGE_QUEUE_PUT_MESSAGE "Waiting to write a protocol message to a shared message queue."
+MESSAGE_QUEUE_RECEIVE "Waiting to receive bytes from a shared message queue."
+MESSAGE_QUEUE_SEND "Waiting to send bytes to a shared message queue."
+PARALLEL_BITMAP_SCAN "Waiting for parallel bitmap scan to become initialized."
+PARALLEL_CREATE_INDEX_SCAN "Waiting for parallel <command>CREATE INDEX</command> workers to finish heap scan."
+PARALLEL_FINISH "Waiting for parallel workers to finish computing."
+PROCARRAY_GROUP_UPDATE "Waiting for the group leader to clear the transaction ID at end of a parallel operation."
+PROC_SIGNAL_BARRIER "Waiting for a barrier event to be processed by all backends."
+PROMOTE "Waiting for standby promotion."
+RECOVERY_CONFLICT_SNAPSHOT "Waiting for recovery conflict resolution for a vacuum cleanup."
+RECOVERY_CONFLICT_TABLESPACE "Waiting for recovery conflict resolution for dropping a tablespace."
+RECOVERY_END_COMMAND "Waiting for <xref linkend="guc-recovery-end-command"/> to complete."
+RECOVERY_PAUSE "Waiting for recovery to be resumed."
+REPLICATION_ORIGIN_DROP "Waiting for a replication origin to become inactive so it can be dropped."
+REPLICATION_SLOT_DROP "Waiting for a replication slot to become inactive so it can be dropped."
+RESTORE_COMMAND "Waiting for <xref linkend="guc-restore-command"/> to complete."
+SAFE_SNAPSHOT "Waiting to obtain a valid snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction."
+SYNC_REP "Waiting for confirmation from a remote server during synchronous replication."
+WAL_RECEIVER_EXIT "Waiting for the WAL receiver to exit."
+WAL_RECEIVER_WAIT_START "Waiting for startup process to send initial data for streaming replication."
+XACT_GROUP_UPDATE "Waiting for the group leader to update transaction status at end of a parallel operation."
#
@@ -151,15 +151,15 @@ WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting for the group leader to up
Section: ClassName - WaitEventTimeout
-WAIT_EVENT_BASE_BACKUP_THROTTLE BaseBackupThrottle "Waiting during base backup when throttling activity."
-WAIT_EVENT_CHECKPOINT_WRITE_DELAY CheckpointWriteDelay "Waiting between writes while performing a checkpoint."
-WAIT_EVENT_PG_SLEEP PgSleep "Waiting due to a call to <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."
+BASE_BACKUP_THROTTLE "Waiting during base backup when throttling activity."
+CHECKPOINT_WRITE_DELAY "Waiting between writes while performing a checkpoint."
+PG_SLEEP "Waiting due to a call to <function>pg_sleep</function> or a sibling function."
+RECOVERY_APPLY_DELAY "Waiting to apply WAL during recovery because of a delay setting."
+RECOVERY_RETRIEVE_RETRY_INTERVAL "Waiting during recovery when WAL data is not available from any source (<filename>pg_wal</filename>, archive or stream)."
+REGISTER_SYNC_REQUEST "Waiting while sending synchronization requests to the checkpointer, because the request queue is full."
+SPIN_DELAY "Waiting while acquiring a contended spinlock."
+VACUUM_DELAY "Waiting in a cost-based vacuum delay point."
+VACUUM_TRUNCATE "Waiting to acquire an exclusive lock to truncate off any empty pages at the end of a table vacuumed."
#
@@ -170,80 +170,80 @@ WAIT_EVENT_VACUUM_TRUNCATE VacuumTruncate "Waiting to acquire an exclusive lock
Section: ClassName - WaitEventIO
-WAIT_EVENT_BASEBACKUP_READ BasebackupRead "Waiting for base backup to read from a file."
-WAIT_EVENT_BASEBACKUP_SYNC BasebackupSync "Waiting for data written by a base backup to reach durable storage."
-WAIT_EVENT_BASEBACKUP_WRITE BasebackupWrite "Waiting for base backup to write to a file."
-WAIT_EVENT_BUFFILE_READ BuffileRead "Waiting for a read from a buffered file."
-WAIT_EVENT_BUFFILE_WRITE BuffileWrite "Waiting for a write to a buffered file."
-WAIT_EVENT_BUFFILE_TRUNCATE BuffileTruncate "Waiting for a buffered file to be truncated."
-WAIT_EVENT_CONTROL_FILE_READ ControlFileRead "Waiting for a read from the <filename>pg_control</filename> file."
-WAIT_EVENT_CONTROL_FILE_SYNC ControlFileSync "Waiting for 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."
-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."
-WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WalSyncMethodAssign "Waiting for data to reach durable storage while assigning a new WAL sync method."
-WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file."
+BASEBACKUP_READ "Waiting for base backup to read from a file."
+BASEBACKUP_SYNC "Waiting for data written by a base backup to reach durable storage."
+BASEBACKUP_WRITE "Waiting for base backup to write to a file."
+BUFFILE_READ "Waiting for a read from a buffered file."
+BUFFILE_WRITE "Waiting for a write to a buffered file."
+BUFFILE_TRUNCATE "Waiting for a buffered file to be truncated."
+CONTROL_FILE_READ "Waiting for a read from the <filename>pg_control</filename> file."
+CONTROL_FILE_SYNC "Waiting for the <filename>pg_control</filename> file to reach durable storage."
+CONTROL_FILE_SYNC_UPDATE "Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
+CONTROL_FILE_WRITE "Waiting for a write to the <filename>pg_control</filename> file."
+CONTROL_FILE_WRITE_UPDATE "Waiting for a write to update the <filename>pg_control</filename> file."
+COPY_FILE_READ "Waiting for a read during a file copy operation."
+COPY_FILE_WRITE "Waiting for a write during a file copy operation."
+DATA_FILE_EXTEND "Waiting for a relation data file to be extended."
+DATA_FILE_FLUSH "Waiting for a relation data file to reach durable storage."
+DATA_FILE_IMMEDIATE_SYNC "Waiting for an immediate synchronization of a relation data file to durable storage."
+DATA_FILE_PREFETCH "Waiting for an asynchronous prefetch from a relation data file."
+DATA_FILE_READ "Waiting for a read from a relation data file."
+DATA_FILE_SYNC "Waiting for changes to a relation data file to reach durable storage."
+DATA_FILE_TRUNCATE "Waiting for a relation data file to be truncated."
+DATA_FILE_WRITE "Waiting for a write to a relation data file."
+DSM_ALLOCATE "Waiting for a dynamic shared memory segment to be allocated."
+DSM_FILL_ZERO_WRITE "Waiting to fill a dynamic shared memory backing file with zeroes."
+LOCK_FILE_ADDTODATADIR_READ "Waiting for a read while adding a line to the data directory lock file."
+LOCK_FILE_ADDTODATADIR_SYNC "Waiting for data to reach durable storage while adding a line to the data directory lock file."
+LOCK_FILE_ADDTODATADIR_WRITE "Waiting for a write while adding a line to the data directory lock file."
+LOCK_FILE_CREATE_READ "Waiting to read while creating the data directory lock file."
+LOCK_FILE_CREATE_SYNC "Waiting for data to reach durable storage while creating the data directory lock file."
+LOCK_FILE_CREATE_WRITE "Waiting for a write while creating the data directory lock file."
+LOCK_FILE_RECHECKDATADIR_READ "Waiting for a read during recheck of the data directory lock file."
+LOGICAL_REWRITE_CHECKPOINT_SYNC "Waiting for logical rewrite mappings to reach durable storage during a checkpoint."
+LOGICAL_REWRITE_MAPPING_SYNC "Waiting for mapping data to reach durable storage during a logical rewrite."
+LOGICAL_REWRITE_MAPPING_WRITE "Waiting for a write of mapping data during a logical rewrite."
+LOGICAL_REWRITE_SYNC "Waiting for logical rewrite mappings to reach durable storage."
+LOGICAL_REWRITE_TRUNCATE "Waiting for truncate of mapping data during a logical rewrite."
+LOGICAL_REWRITE_WRITE "Waiting for a write of logical rewrite mappings."
+RELATION_MAP_READ "Waiting for a read of the relation map file."
+RELATION_MAP_REPLACE "Waiting for durable replacement of a relation map file."
+RELATION_MAP_WRITE "Waiting for a write to the relation map file."
+REORDER_BUFFER_READ "Waiting for a read during reorder buffer management."
+REORDER_BUFFER_WRITE "Waiting for a write during reorder buffer management."
+REORDER_LOGICAL_MAPPING_READ "Waiting for a read of a logical mapping during reorder buffer management."
+REPLICATION_SLOT_READ "Waiting for a read from a replication slot control file."
+REPLICATION_SLOT_RESTORE_SYNC "Waiting for a replication slot control file to reach durable storage while restoring it to memory."
+REPLICATION_SLOT_SYNC "Waiting for a replication slot control file to reach durable storage."
+REPLICATION_SLOT_WRITE "Waiting for a write to a replication slot control file."
+SLRU_FLUSH_SYNC "Waiting for SLRU data to reach durable storage during a checkpoint or database shutdown."
+SLRU_READ "Waiting for a read of an SLRU page."
+SLRU_SYNC "Waiting for SLRU data to reach durable storage following a page write."
+SLRU_WRITE "Waiting for a write of an SLRU page."
+SNAPBUILD_READ "Waiting for a read of a serialized historical catalog snapshot."
+SNAPBUILD_SYNC "Waiting for a serialized historical catalog snapshot to reach durable storage."
+SNAPBUILD_WRITE "Waiting for a write of a serialized historical catalog snapshot."
+TIMELINE_HISTORY_FILE_SYNC "Waiting for a timeline history file received via streaming replication to reach durable storage."
+TIMELINE_HISTORY_FILE_WRITE "Waiting for a write of a timeline history file received via streaming replication."
+TIMELINE_HISTORY_READ "Waiting for a read of a timeline history file."
+TIMELINE_HISTORY_SYNC "Waiting for a newly created timeline history file to reach durable storage."
+TIMELINE_HISTORY_WRITE "Waiting for a write of a newly created timeline history file."
+TWOPHASE_FILE_READ "Waiting for a read of a two phase state file."
+TWOPHASE_FILE_SYNC "Waiting for a two phase state file to reach durable storage."
+TWOPHASE_FILE_WRITE "Waiting for a write of a two phase state file."
+VERSION_FILE_WRITE "Waiting for the version file to be written while creating a database."
+WALSENDER_TIMELINE_HISTORY_READ "Waiting for a read from a timeline history file during a walsender timeline command."
+WAL_BOOTSTRAP_SYNC "Waiting for WAL to reach durable storage during bootstrapping."
+WAL_BOOTSTRAP_WRITE "Waiting for a write of a WAL page during bootstrapping."
+WAL_COPY_READ "Waiting for a read when creating a new WAL segment by copying an existing one."
+WAL_COPY_SYNC "Waiting for a new WAL segment created by copying an existing one to reach durable storage."
+WAL_COPY_WRITE "Waiting for a write when creating a new WAL segment by copying an existing one."
+WAL_INIT_SYNC "Waiting for a newly initialized WAL file to reach durable storage."
+WAL_INIT_WRITE "Waiting for a write while initializing a new WAL file."
+WAL_READ "Waiting for a read from a WAL file."
+WAL_SYNC "Waiting for a WAL file to reach durable storage."
+WAL_SYNC_METHOD_ASSIGN "Waiting for data to reach durable storage while assigning a new WAL sync method."
+WAL_WRITE "Waiting for a write to a WAL file."
#
@@ -252,7 +252,7 @@ WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file."
Section: ClassName - WaitEventBufferPin
-WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an exclusive pin on a buffer."
+BUFFER_PIN "Waiting to acquire an exclusive pin on a buffer."
#
@@ -261,7 +261,7 @@ WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an exclusive pin on a buffer
Section: ClassName - WaitEventExtension
-WAIT_EVENT_DOCONLY Extension "Waiting in an extension."
+Extension "Waiting in an extension."
#
# Wait Events - LWLock
@@ -272,81 +272,81 @@ WAIT_EVENT_DOCONLY Extension "Waiting in an extension."
Section: ClassName - WaitEventLWLock
-WAIT_EVENT_DOCONLY ShmemIndex "Waiting to find or allocate space in shared memory."
-WAIT_EVENT_DOCONLY OidGen "Waiting to allocate a new OID."
-WAIT_EVENT_DOCONLY XidGen "Waiting to allocate a new transaction ID."
-WAIT_EVENT_DOCONLY ProcArray "Waiting to access the shared per-process data structures (typically, to get a snapshot or report a session's transaction ID)."
-WAIT_EVENT_DOCONLY SInvalRead "Waiting to retrieve messages from the shared catalog invalidation queue."
-WAIT_EVENT_DOCONLY SInvalWrite "Waiting to add a message to the shared catalog invalidation queue."
-WAIT_EVENT_DOCONLY WALBufMapping "Waiting to replace a page in WAL buffers."
-WAIT_EVENT_DOCONLY WALWrite "Waiting for WAL buffers to be written to disk."
-WAIT_EVENT_DOCONLY ControlFile "Waiting to read or update the <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 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 WaitEventExtension "Waiting to read or update custom wait events information for extensions."
-
-WAIT_EVENT_DOCONLY XactBuffer "Waiting for I/O on a transaction status SLRU buffer."
-WAIT_EVENT_DOCONLY CommitTsBuffer "Waiting for I/O on a commit timestamp SLRU buffer."
-WAIT_EVENT_DOCONLY SubtransBuffer "Waiting for I/O on a sub-transaction SLRU buffer."
-WAIT_EVENT_DOCONLY MultiXactOffsetBuffer "Waiting for I/O on a multixact offset SLRU buffer."
-WAIT_EVENT_DOCONLY MultiXactMemberBuffer "Waiting for I/O on a multixact member SLRU buffer."
-WAIT_EVENT_DOCONLY NotifyBuffer "Waiting for I/O on a <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."
+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."
+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."
+WaitEventExtension "Waiting to read or update custom wait events information for extensions."
+
+XactBuffer "Waiting for I/O on a transaction status SLRU buffer."
+CommitTsBuffer "Waiting for I/O on a commit timestamp SLRU buffer."
+SubtransBuffer "Waiting for I/O on a sub-transaction SLRU buffer."
+MultiXactOffsetBuffer "Waiting for I/O on a multixact offset SLRU buffer."
+MultiXactMemberBuffer "Waiting for I/O on a multixact member SLRU buffer."
+NotifyBuffer "Waiting for I/O on a <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 Events - Lock
@@ -357,15 +357,15 @@ WAIT_EVENT_DOCONLY LogicalRepLauncherHash "Waiting to access logical replication
Section: ClassName - WaitEventLock
-WAIT_EVENT_DOCONLY relation "Waiting to acquire a lock on a relation."
-WAIT_EVENT_DOCONLY extend "Waiting to extend a relation."
-WAIT_EVENT_DOCONLY frozenid "Waiting to update <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.34.1
Attachments:
[text/plain] v6-0001-Rename-wait-events-with-more-consistent-camelcase.patch (19.1K, ../[email protected]/2-v6-0001-Rename-wait-events-with-more-consistent-camelcase.patch)
download | inline diff:
From 6a94fc1a00ae784b12e15f498a5afba4020377f9 Mon Sep 17 00:00:00 2001
From: Michael Paquier <[email protected]>
Date: Tue, 5 Sep 2023 14:32:37 +0900
Subject: [PATCH v6 1/2] 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/replication/walsender.c | 2 +-
src/backend/storage/ipc/shm_mq.c | 6 +-
.../utils/activity/wait_event_names.txt | 90 +++++++++----------
4 files changed, 50 insertions(+), 50 deletions(-)
3.2% src/backend/storage/ipc/
93.3% src/backend/utils/activity/
3.3% src/backend/
diff --git a/src/backend/libpq/pqmq.c b/src/backend/libpq/pqmq.c
index 253181f47a..38b042804c 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/replication/walsender.c b/src/backend/replication/walsender.c
index 46e48492ac..e250b0567e 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -1654,7 +1654,7 @@ WalSndWaitForWal(XLogRecPtr loc)
if (pq_is_send_pending())
wakeEvents |= WL_SOCKET_WRITEABLE;
- WalSndWait(wakeEvents, sleeptime, WAIT_EVENT_WAL_SENDER_WAIT_WAL);
+ WalSndWait(wakeEvents, sleeptime, WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL);
}
/* reactivate latch so WalSndLoop knows to continue */
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 06a1a3df9b..ca28d9e764 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_FOR_WAL WalSenderWaitForWal "Waiting for WAL to be flushed in WAL sender process."
WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity when processing replies from WAL receiver in WAL sender process."
@@ -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."
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."
-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."
+WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ WalsenderTimelineHistoryRead "Waiting for a read from a timeline history file during a walsender timeline command."
+WAIT_EVENT_WAL_BOOTSTRAP_SYNC WalBootstrapSync "Waiting for WAL to reach durable storage during bootstrapping."
+WAIT_EVENT_WAL_BOOTSTRAP_WRITE WalBootstrapWrite "Waiting for a write of a WAL page during bootstrapping."
+WAIT_EVENT_WAL_COPY_READ WalCopyRead "Waiting for a read when creating a new WAL segment by copying an existing one."
+WAIT_EVENT_WAL_COPY_SYNC WalCopySync "Waiting for a new WAL segment created by copying an existing one to reach durable storage."
+WAIT_EVENT_WAL_COPY_WRITE WalCopyWrite "Waiting for a write when creating a new WAL segment by copying an existing one."
+WAIT_EVENT_WAL_INIT_SYNC WalInitSync "Waiting for a newly initialized WAL file to reach durable storage."
+WAIT_EVENT_WAL_INIT_WRITE WalInitWrite "Waiting for a write while initializing a new WAL file."
+WAIT_EVENT_WAL_READ WalRead "Waiting for a read from a WAL file."
+WAIT_EVENT_WAL_SYNC WalSync "Waiting for a WAL file to reach durable storage."
+WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WalSyncMethodAssign "Waiting for data to reach durable storage while assigning a new WAL sync method."
+WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file."
#
--
2.34.1
[text/plain] v6-0002-Remove-column-for-wait-event-names-in-wait_event_.patch (52.3K, ../[email protected]/3-v6-0002-Remove-column-for-wait-event-names-in-wait_event_.patch)
download | inline diff:
From 6e32a44cf27ddde43445a67a2b3f5e2adad6170c Mon Sep 17 00:00:00 2001
From: Michael Paquier <[email protected]>
Date: Tue, 5 Sep 2023 14:39:58 +0900
Subject: [PATCH v6 2/2] Remove column for wait event names in
wait_event_names.txt
This file is now made of two columns, removing the column listing the
descriptions for each wait event class:
- Typedef enum definition, without the prefix "WAIT_EVENT_", for
simplicity.
- Description in the documentation.
The wait event names are generated from the enum objects in camelcase, with
the underscores removed.
---
.../activity/generate-wait_event_types.pl | 40 +-
.../utils/activity/wait_event_names.txt | 502 +++++++++---------
2 files changed, 279 insertions(+), 263 deletions(-)
100.0% src/backend/utils/activity/
diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/backend/utils/activity/generate-wait_event_types.pl
index 23eb3b1f57..046be2cb70 100644
--- a/src/backend/utils/activity/generate-wait_event_types.pl
+++ b/src/backend/utils/activity/generate-wait_event_types.pl
@@ -65,29 +65,45 @@ while (<$wait_event_names>)
push(@lines, $section_name . "\t" . $_);
}
-# Sort the lines based on the third column.
+# Sort the lines based on the second column.
# uc() is being used to force the comparison to be case-insensitive.
my @lines_sorted =
- sort { uc((split(/\t/, $a))[2]) cmp uc((split(/\t/, $b))[2]) } @lines;
+ sort { uc((split(/\t/, $a))[1]) cmp uc((split(/\t/, $b))[1]) } @lines;
# Read the sorted lines and populate the hash table
foreach my $line (@lines_sorted)
{
die "unable to parse wait_event_names.txt for line $line\n"
- unless $line =~ /^(\w+)\t+(\w+)\t+(\w+)\t+("\w.*\.")$/;
+ unless $line =~ /^(\w+)\t+(\w+)\t+("\w.*\.")$/;
- ( my $waitclassname,
- my $waiteventenumname,
- my $waiteventdescription,
- my $waitevendocsentence) = split(/\t/, $line);
+ (my $waitclassname, my $waiteventname, my $waitevendocsentence) =
+ split(/\t/, $line);
+ # Generate the element name for the enums based on the
+ # description. The C symbols are prefixed with "WAIT_EVENT_".
+ my $waiteventenumname = "WAIT_EVENT_$waiteventname";
+
+ # Build the descriptions. These are in camel-case.
+ # LWLock and Lock classes do not need any modifications.
+ my $waiteventdescription = '';
+ if ( $waitclassname eq 'WaitEventLWLock'
+ || $waitclassname eq 'WaitEventLock')
+ {
+ $waiteventdescription = $waiteventname;
+ }
+ else
+ {
+ my @waiteventparts = split("_", $waiteventname);
+ foreach my $waiteventpart (@waiteventparts)
+ {
+ $waiteventdescription .= substr($waiteventpart, 0, 1)
+ . lc(substr($waiteventpart, 1, length($waiteventpart)));
+ }
+ }
+
+ # Store the event into the list for each class.
my @waiteventlist =
[ $waiteventenumname, $waiteventdescription, $waitevendocsentence ];
- my $trimmedwaiteventname = $waiteventenumname;
- $trimmedwaiteventname =~ s/^WAIT_EVENT_//;
-
- die "wait event names must start with 'WAIT_EVENT_'"
- if ($trimmedwaiteventname eq $waiteventenumname);
push(@{ $hashwe{$waitclassname} }, @waiteventlist);
}
diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt
index ca28d9e764..9c5fdeb3ca 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -7,6 +7,11 @@
# This list serves as the basis for generating source and documentation files
# related to wait events.
#
+# This file defines one wait event per line, with the following
+# tab-separated fields:
+#
+# "Typedef enum definitions" "description in the docs"
+#
# The files generated from this one are:
#
# src/backend/utils/activity/wait_event_types.h
@@ -18,11 +23,6 @@
# src/backend/utils/activity/wait_event_types.sgml
# SGML tables of wait events for inclusion in the documentation.
#
-# This file defines one wait event per line, with the following
-# tab-separated fields:
-#
-# "C symbol in enums" "format in the system views" "description in the docs"
-#
# When adding a new wait event, make sure it is placed in the appropriate
# ClassName section.
#
@@ -44,19 +44,19 @@
Section: ClassName - WaitEventActivity
-WAIT_EVENT_ARCHIVER_MAIN ArchiverMain "Waiting in main loop of archiver process."
-WAIT_EVENT_AUTOVACUUM_MAIN AutovacuumMain "Waiting in main loop of autovacuum launcher process."
-WAIT_EVENT_BGWRITER_HIBERNATE BgwriterHibernate "Waiting in background writer process, hibernating."
-WAIT_EVENT_BGWRITER_MAIN BgwriterMain "Waiting in main loop of background writer process."
-WAIT_EVENT_CHECKPOINTER_MAIN CheckpointerMain "Waiting in main loop of checkpointer process."
-WAIT_EVENT_LOGICAL_APPLY_MAIN LogicalApplyMain "Waiting in main loop of logical replication apply process."
-WAIT_EVENT_LOGICAL_LAUNCHER_MAIN LogicalLauncherMain "Waiting in main loop of logical replication launcher process."
-WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN LogicalParallelApplyMain "Waiting in main loop of logical replication parallel apply process."
-WAIT_EVENT_RECOVERY_WAL_STREAM RecoveryWalStream "Waiting in main loop of startup process for WAL to arrive, during streaming recovery."
-WAIT_EVENT_SYSLOGGER_MAIN SysloggerMain "Waiting in main loop of syslogger process."
-WAIT_EVENT_WAL_RECEIVER_MAIN WalReceiverMain "Waiting in main loop of WAL receiver process."
-WAIT_EVENT_WAL_SENDER_MAIN WalSenderMain "Waiting in main loop of WAL sender process."
-WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writer process."
+ARCHIVER_MAIN "Waiting in main loop of archiver process."
+AUTOVACUUM_MAIN "Waiting in main loop of autovacuum launcher process."
+BGWRITER_HIBERNATE "Waiting in background writer process, hibernating."
+BGWRITER_MAIN "Waiting in main loop of background writer process."
+CHECKPOINTER_MAIN "Waiting in main loop of checkpointer process."
+LOGICAL_APPLY_MAIN "Waiting in main loop of logical replication apply process."
+LOGICAL_LAUNCHER_MAIN "Waiting in main loop of logical replication launcher process."
+LOGICAL_PARALLEL_APPLY_MAIN "Waiting in main loop of logical replication parallel apply process."
+RECOVERY_WAL_STREAM "Waiting in main loop of startup process for WAL to arrive, during streaming recovery."
+SYSLOGGER_MAIN "Waiting in main loop of syslogger process."
+WAL_RECEIVER_MAIN "Waiting in main loop of WAL receiver process."
+WAL_SENDER_MAIN "Waiting in main loop of WAL sender process."
+WAL_WRITER_MAIN "Waiting in main loop of WAL writer process."
#
@@ -69,14 +69,14 @@ WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writer pro
Section: ClassName - WaitEventClient
-WAIT_EVENT_CLIENT_READ ClientRead "Waiting to read data from the client."
-WAIT_EVENT_CLIENT_WRITE ClientWrite "Waiting to write data to the client."
-WAIT_EVENT_GSS_OPEN_SERVER GssOpenServer "Waiting to read data from the client while establishing a GSSAPI session."
-WAIT_EVENT_LIBPQWALRECEIVER_CONNECT LibpqwalreceiverConnect "Waiting in WAL receiver to establish connection to remote server."
-WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE LibpqwalreceiverReceive "Waiting in WAL receiver to receive data from remote server."
-WAIT_EVENT_SSL_OPEN_SERVER SslOpenServer "Waiting for SSL while attempting connection."
-WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL WalSenderWaitForWal "Waiting for WAL to be flushed in WAL sender process."
-WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity when processing replies from WAL receiver in WAL sender process."
+CLIENT_READ "Waiting to read data from the client."
+CLIENT_WRITE "Waiting to write data to the client."
+GSS_OPEN_SERVER "Waiting to read data from the client while establishing a GSSAPI session."
+LIBPQWALRECEIVER_CONNECT "Waiting in WAL receiver to establish connection to remote server."
+LIBPQWALRECEIVER_RECEIVE "Waiting in WAL receiver to receive data from remote server."
+SSL_OPEN_SERVER "Waiting for SSL while attempting connection."
+WAL_SENDER_WAIT_FOR_WAL "Waiting for WAL to be flushed in WAL sender process."
+WAL_SENDER_WRITE_DATA "Waiting for any activity when processing replies from WAL receiver in WAL sender process."
#
@@ -88,59 +88,59 @@ WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activity wh
Section: ClassName - WaitEventIPC
-WAIT_EVENT_APPEND_READY AppendReady "Waiting for subplan nodes of an <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."
-WAIT_EVENT_WAL_RECEIVER_EXIT WalReceiverExit "Waiting for the WAL receiver to exit."
-WAIT_EVENT_WAL_RECEIVER_WAIT_START WalReceiverWaitStart "Waiting for startup process to send initial data for streaming replication."
-WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting for the group leader to update transaction status at end of a parallel operation."
+APPEND_READY "Waiting for subplan nodes of an <literal>Append</literal> plan node to be ready."
+ARCHIVE_CLEANUP_COMMAND "Waiting for <xref linkend="guc-archive-cleanup-command"/> to complete."
+ARCHIVE_COMMAND "Waiting for <xref linkend="guc-archive-command"/> to complete."
+BACKEND_TERMINATION "Waiting for the termination of another backend."
+BACKUP_WAIT_WAL_ARCHIVE "Waiting for WAL files required for a backup to be successfully archived."
+BGWORKER_SHUTDOWN "Waiting for background worker to shut down."
+BGWORKER_STARTUP "Waiting for background worker to start up."
+BTREE_PAGE "Waiting for the page number needed to continue a parallel B-tree scan to become available."
+BUFFER_IO "Waiting for buffer I/O to complete."
+CHECKPOINT_DONE "Waiting for a checkpoint to complete."
+CHECKPOINT_START "Waiting for a checkpoint to start."
+EXECUTE_GATHER "Waiting for activity from a child process while executing a <literal>Gather</literal> plan node."
+HASH_BATCH_ALLOCATE "Waiting for an elected Parallel Hash participant to allocate a hash table."
+HASH_BATCH_ELECT "Waiting to elect a Parallel Hash participant to allocate a hash table."
+HASH_BATCH_LOAD "Waiting for other Parallel Hash participants to finish loading a hash table."
+HASH_BUILD_ALLOCATE "Waiting for an elected Parallel Hash participant to allocate the initial hash table."
+HASH_BUILD_ELECT "Waiting to elect a Parallel Hash participant to allocate the initial hash table."
+HASH_BUILD_HASH_INNER "Waiting for other Parallel Hash participants to finish hashing the inner relation."
+HASH_BUILD_HASH_OUTER "Waiting for other Parallel Hash participants to finish partitioning the outer relation."
+HASH_GROW_BATCHES_DECIDE "Waiting to elect a Parallel Hash participant to decide on future batch growth."
+HASH_GROW_BATCHES_ELECT "Waiting to elect a Parallel Hash participant to allocate more batches."
+HASH_GROW_BATCHES_FINISH "Waiting for an elected Parallel Hash participant to decide on future batch growth."
+HASH_GROW_BATCHES_REALLOCATE "Waiting for an elected Parallel Hash participant to allocate more batches."
+HASH_GROW_BATCHES_REPARTITION "Waiting for other Parallel Hash participants to finish repartitioning."
+HASH_GROW_BUCKETS_ELECT "Waiting to elect a Parallel Hash participant to allocate more buckets."
+HASH_GROW_BUCKETS_REALLOCATE "Waiting for an elected Parallel Hash participant to finish allocating more buckets."
+HASH_GROW_BUCKETS_REINSERT "Waiting for other Parallel Hash participants to finish inserting tuples into new buckets."
+LOGICAL_APPLY_SEND_DATA "Waiting for a logical replication leader apply process to send data to a parallel apply process."
+LOGICAL_PARALLEL_APPLY_STATE_CHANGE "Waiting for a logical replication parallel apply process to change state."
+LOGICAL_SYNC_DATA "Waiting for a logical replication remote server to send data for initial table synchronization."
+LOGICAL_SYNC_STATE_CHANGE "Waiting for a logical replication remote server to change state."
+MESSAGE_QUEUE_INTERNAL "Waiting for another process to be attached to a shared message queue."
+MESSAGE_QUEUE_PUT_MESSAGE "Waiting to write a protocol message to a shared message queue."
+MESSAGE_QUEUE_RECEIVE "Waiting to receive bytes from a shared message queue."
+MESSAGE_QUEUE_SEND "Waiting to send bytes to a shared message queue."
+PARALLEL_BITMAP_SCAN "Waiting for parallel bitmap scan to become initialized."
+PARALLEL_CREATE_INDEX_SCAN "Waiting for parallel <command>CREATE INDEX</command> workers to finish heap scan."
+PARALLEL_FINISH "Waiting for parallel workers to finish computing."
+PROCARRAY_GROUP_UPDATE "Waiting for the group leader to clear the transaction ID at end of a parallel operation."
+PROC_SIGNAL_BARRIER "Waiting for a barrier event to be processed by all backends."
+PROMOTE "Waiting for standby promotion."
+RECOVERY_CONFLICT_SNAPSHOT "Waiting for recovery conflict resolution for a vacuum cleanup."
+RECOVERY_CONFLICT_TABLESPACE "Waiting for recovery conflict resolution for dropping a tablespace."
+RECOVERY_END_COMMAND "Waiting for <xref linkend="guc-recovery-end-command"/> to complete."
+RECOVERY_PAUSE "Waiting for recovery to be resumed."
+REPLICATION_ORIGIN_DROP "Waiting for a replication origin to become inactive so it can be dropped."
+REPLICATION_SLOT_DROP "Waiting for a replication slot to become inactive so it can be dropped."
+RESTORE_COMMAND "Waiting for <xref linkend="guc-restore-command"/> to complete."
+SAFE_SNAPSHOT "Waiting to obtain a valid snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction."
+SYNC_REP "Waiting for confirmation from a remote server during synchronous replication."
+WAL_RECEIVER_EXIT "Waiting for the WAL receiver to exit."
+WAL_RECEIVER_WAIT_START "Waiting for startup process to send initial data for streaming replication."
+XACT_GROUP_UPDATE "Waiting for the group leader to update transaction status at end of a parallel operation."
#
@@ -151,15 +151,15 @@ WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting for the group leader to up
Section: ClassName - WaitEventTimeout
-WAIT_EVENT_BASE_BACKUP_THROTTLE BaseBackupThrottle "Waiting during base backup when throttling activity."
-WAIT_EVENT_CHECKPOINT_WRITE_DELAY CheckpointWriteDelay "Waiting between writes while performing a checkpoint."
-WAIT_EVENT_PG_SLEEP PgSleep "Waiting due to a call to <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."
+BASE_BACKUP_THROTTLE "Waiting during base backup when throttling activity."
+CHECKPOINT_WRITE_DELAY "Waiting between writes while performing a checkpoint."
+PG_SLEEP "Waiting due to a call to <function>pg_sleep</function> or a sibling function."
+RECOVERY_APPLY_DELAY "Waiting to apply WAL during recovery because of a delay setting."
+RECOVERY_RETRIEVE_RETRY_INTERVAL "Waiting during recovery when WAL data is not available from any source (<filename>pg_wal</filename>, archive or stream)."
+REGISTER_SYNC_REQUEST "Waiting while sending synchronization requests to the checkpointer, because the request queue is full."
+SPIN_DELAY "Waiting while acquiring a contended spinlock."
+VACUUM_DELAY "Waiting in a cost-based vacuum delay point."
+VACUUM_TRUNCATE "Waiting to acquire an exclusive lock to truncate off any empty pages at the end of a table vacuumed."
#
@@ -170,80 +170,80 @@ WAIT_EVENT_VACUUM_TRUNCATE VacuumTruncate "Waiting to acquire an exclusive lock
Section: ClassName - WaitEventIO
-WAIT_EVENT_BASEBACKUP_READ BasebackupRead "Waiting for base backup to read from a file."
-WAIT_EVENT_BASEBACKUP_SYNC BasebackupSync "Waiting for data written by a base backup to reach durable storage."
-WAIT_EVENT_BASEBACKUP_WRITE BasebackupWrite "Waiting for base backup to write to a file."
-WAIT_EVENT_BUFFILE_READ BuffileRead "Waiting for a read from a buffered file."
-WAIT_EVENT_BUFFILE_WRITE BuffileWrite "Waiting for a write to a buffered file."
-WAIT_EVENT_BUFFILE_TRUNCATE BuffileTruncate "Waiting for a buffered file to be truncated."
-WAIT_EVENT_CONTROL_FILE_READ ControlFileRead "Waiting for a read from the <filename>pg_control</filename> file."
-WAIT_EVENT_CONTROL_FILE_SYNC ControlFileSync "Waiting for 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."
-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."
-WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WalSyncMethodAssign "Waiting for data to reach durable storage while assigning a new WAL sync method."
-WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file."
+BASEBACKUP_READ "Waiting for base backup to read from a file."
+BASEBACKUP_SYNC "Waiting for data written by a base backup to reach durable storage."
+BASEBACKUP_WRITE "Waiting for base backup to write to a file."
+BUFFILE_READ "Waiting for a read from a buffered file."
+BUFFILE_WRITE "Waiting for a write to a buffered file."
+BUFFILE_TRUNCATE "Waiting for a buffered file to be truncated."
+CONTROL_FILE_READ "Waiting for a read from the <filename>pg_control</filename> file."
+CONTROL_FILE_SYNC "Waiting for the <filename>pg_control</filename> file to reach durable storage."
+CONTROL_FILE_SYNC_UPDATE "Waiting for an update to the <filename>pg_control</filename> file to reach durable storage."
+CONTROL_FILE_WRITE "Waiting for a write to the <filename>pg_control</filename> file."
+CONTROL_FILE_WRITE_UPDATE "Waiting for a write to update the <filename>pg_control</filename> file."
+COPY_FILE_READ "Waiting for a read during a file copy operation."
+COPY_FILE_WRITE "Waiting for a write during a file copy operation."
+DATA_FILE_EXTEND "Waiting for a relation data file to be extended."
+DATA_FILE_FLUSH "Waiting for a relation data file to reach durable storage."
+DATA_FILE_IMMEDIATE_SYNC "Waiting for an immediate synchronization of a relation data file to durable storage."
+DATA_FILE_PREFETCH "Waiting for an asynchronous prefetch from a relation data file."
+DATA_FILE_READ "Waiting for a read from a relation data file."
+DATA_FILE_SYNC "Waiting for changes to a relation data file to reach durable storage."
+DATA_FILE_TRUNCATE "Waiting for a relation data file to be truncated."
+DATA_FILE_WRITE "Waiting for a write to a relation data file."
+DSM_ALLOCATE "Waiting for a dynamic shared memory segment to be allocated."
+DSM_FILL_ZERO_WRITE "Waiting to fill a dynamic shared memory backing file with zeroes."
+LOCK_FILE_ADDTODATADIR_READ "Waiting for a read while adding a line to the data directory lock file."
+LOCK_FILE_ADDTODATADIR_SYNC "Waiting for data to reach durable storage while adding a line to the data directory lock file."
+LOCK_FILE_ADDTODATADIR_WRITE "Waiting for a write while adding a line to the data directory lock file."
+LOCK_FILE_CREATE_READ "Waiting to read while creating the data directory lock file."
+LOCK_FILE_CREATE_SYNC "Waiting for data to reach durable storage while creating the data directory lock file."
+LOCK_FILE_CREATE_WRITE "Waiting for a write while creating the data directory lock file."
+LOCK_FILE_RECHECKDATADIR_READ "Waiting for a read during recheck of the data directory lock file."
+LOGICAL_REWRITE_CHECKPOINT_SYNC "Waiting for logical rewrite mappings to reach durable storage during a checkpoint."
+LOGICAL_REWRITE_MAPPING_SYNC "Waiting for mapping data to reach durable storage during a logical rewrite."
+LOGICAL_REWRITE_MAPPING_WRITE "Waiting for a write of mapping data during a logical rewrite."
+LOGICAL_REWRITE_SYNC "Waiting for logical rewrite mappings to reach durable storage."
+LOGICAL_REWRITE_TRUNCATE "Waiting for truncate of mapping data during a logical rewrite."
+LOGICAL_REWRITE_WRITE "Waiting for a write of logical rewrite mappings."
+RELATION_MAP_READ "Waiting for a read of the relation map file."
+RELATION_MAP_REPLACE "Waiting for durable replacement of a relation map file."
+RELATION_MAP_WRITE "Waiting for a write to the relation map file."
+REORDER_BUFFER_READ "Waiting for a read during reorder buffer management."
+REORDER_BUFFER_WRITE "Waiting for a write during reorder buffer management."
+REORDER_LOGICAL_MAPPING_READ "Waiting for a read of a logical mapping during reorder buffer management."
+REPLICATION_SLOT_READ "Waiting for a read from a replication slot control file."
+REPLICATION_SLOT_RESTORE_SYNC "Waiting for a replication slot control file to reach durable storage while restoring it to memory."
+REPLICATION_SLOT_SYNC "Waiting for a replication slot control file to reach durable storage."
+REPLICATION_SLOT_WRITE "Waiting for a write to a replication slot control file."
+SLRU_FLUSH_SYNC "Waiting for SLRU data to reach durable storage during a checkpoint or database shutdown."
+SLRU_READ "Waiting for a read of an SLRU page."
+SLRU_SYNC "Waiting for SLRU data to reach durable storage following a page write."
+SLRU_WRITE "Waiting for a write of an SLRU page."
+SNAPBUILD_READ "Waiting for a read of a serialized historical catalog snapshot."
+SNAPBUILD_SYNC "Waiting for a serialized historical catalog snapshot to reach durable storage."
+SNAPBUILD_WRITE "Waiting for a write of a serialized historical catalog snapshot."
+TIMELINE_HISTORY_FILE_SYNC "Waiting for a timeline history file received via streaming replication to reach durable storage."
+TIMELINE_HISTORY_FILE_WRITE "Waiting for a write of a timeline history file received via streaming replication."
+TIMELINE_HISTORY_READ "Waiting for a read of a timeline history file."
+TIMELINE_HISTORY_SYNC "Waiting for a newly created timeline history file to reach durable storage."
+TIMELINE_HISTORY_WRITE "Waiting for a write of a newly created timeline history file."
+TWOPHASE_FILE_READ "Waiting for a read of a two phase state file."
+TWOPHASE_FILE_SYNC "Waiting for a two phase state file to reach durable storage."
+TWOPHASE_FILE_WRITE "Waiting for a write of a two phase state file."
+VERSION_FILE_WRITE "Waiting for the version file to be written while creating a database."
+WALSENDER_TIMELINE_HISTORY_READ "Waiting for a read from a timeline history file during a walsender timeline command."
+WAL_BOOTSTRAP_SYNC "Waiting for WAL to reach durable storage during bootstrapping."
+WAL_BOOTSTRAP_WRITE "Waiting for a write of a WAL page during bootstrapping."
+WAL_COPY_READ "Waiting for a read when creating a new WAL segment by copying an existing one."
+WAL_COPY_SYNC "Waiting for a new WAL segment created by copying an existing one to reach durable storage."
+WAL_COPY_WRITE "Waiting for a write when creating a new WAL segment by copying an existing one."
+WAL_INIT_SYNC "Waiting for a newly initialized WAL file to reach durable storage."
+WAL_INIT_WRITE "Waiting for a write while initializing a new WAL file."
+WAL_READ "Waiting for a read from a WAL file."
+WAL_SYNC "Waiting for a WAL file to reach durable storage."
+WAL_SYNC_METHOD_ASSIGN "Waiting for data to reach durable storage while assigning a new WAL sync method."
+WAL_WRITE "Waiting for a write to a WAL file."
#
@@ -252,7 +252,7 @@ WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file."
Section: ClassName - WaitEventBufferPin
-WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an exclusive pin on a buffer."
+BUFFER_PIN "Waiting to acquire an exclusive pin on a buffer."
#
@@ -261,7 +261,7 @@ WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an exclusive pin on a buffer
Section: ClassName - WaitEventExtension
-WAIT_EVENT_DOCONLY Extension "Waiting in an extension."
+Extension "Waiting in an extension."
#
# Wait Events - LWLock
@@ -272,81 +272,81 @@ WAIT_EVENT_DOCONLY Extension "Waiting in an extension."
Section: ClassName - WaitEventLWLock
-WAIT_EVENT_DOCONLY ShmemIndex "Waiting to find or allocate space in shared memory."
-WAIT_EVENT_DOCONLY OidGen "Waiting to allocate a new OID."
-WAIT_EVENT_DOCONLY XidGen "Waiting to allocate a new transaction ID."
-WAIT_EVENT_DOCONLY ProcArray "Waiting to access the shared per-process data structures (typically, to get a snapshot or report a session's transaction ID)."
-WAIT_EVENT_DOCONLY SInvalRead "Waiting to retrieve messages from the shared catalog invalidation queue."
-WAIT_EVENT_DOCONLY SInvalWrite "Waiting to add a message to the shared catalog invalidation queue."
-WAIT_EVENT_DOCONLY WALBufMapping "Waiting to replace a page in WAL buffers."
-WAIT_EVENT_DOCONLY WALWrite "Waiting for WAL buffers to be written to disk."
-WAIT_EVENT_DOCONLY ControlFile "Waiting to read or update the <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 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 WaitEventExtension "Waiting to read or update custom wait events information for extensions."
-
-WAIT_EVENT_DOCONLY XactBuffer "Waiting for I/O on a transaction status SLRU buffer."
-WAIT_EVENT_DOCONLY CommitTsBuffer "Waiting for I/O on a commit timestamp SLRU buffer."
-WAIT_EVENT_DOCONLY SubtransBuffer "Waiting for I/O on a sub-transaction SLRU buffer."
-WAIT_EVENT_DOCONLY MultiXactOffsetBuffer "Waiting for I/O on a multixact offset SLRU buffer."
-WAIT_EVENT_DOCONLY MultiXactMemberBuffer "Waiting for I/O on a multixact member SLRU buffer."
-WAIT_EVENT_DOCONLY NotifyBuffer "Waiting for I/O on a <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."
+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."
+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."
+WaitEventExtension "Waiting to read or update custom wait events information for extensions."
+
+XactBuffer "Waiting for I/O on a transaction status SLRU buffer."
+CommitTsBuffer "Waiting for I/O on a commit timestamp SLRU buffer."
+SubtransBuffer "Waiting for I/O on a sub-transaction SLRU buffer."
+MultiXactOffsetBuffer "Waiting for I/O on a multixact offset SLRU buffer."
+MultiXactMemberBuffer "Waiting for I/O on a multixact member SLRU buffer."
+NotifyBuffer "Waiting for I/O on a <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 Events - Lock
@@ -357,15 +357,15 @@ WAIT_EVENT_DOCONLY LogicalRepLauncherHash "Waiting to access logical replication
Section: ClassName - WaitEventLock
-WAIT_EVENT_DOCONLY relation "Waiting to acquire a lock on a relation."
-WAIT_EVENT_DOCONLY extend "Waiting to extend a relation."
-WAIT_EVENT_DOCONLY frozenid "Waiting to update <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.34.1
view thread (32+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Autogenerate some wait events code and documentation
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox