Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qKAkL-000120-3s for pgsql-hackers@arkaria.postgresql.org; Fri, 14 Jul 2023 04:49:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qKAkJ-0003av-Bh for pgsql-hackers@arkaria.postgresql.org; Fri, 14 Jul 2023 04:49:35 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qKAkI-0003am-L2 for pgsql-hackers@lists.postgresql.org; Fri, 14 Jul 2023 04:49:35 +0000 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qKAkC-000JC8-82 for pgsql-hackers@lists.postgresql.org; Fri, 14 Jul 2023 04:49:33 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 5D2725C0106; Fri, 14 Jul 2023 00:49:28 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Fri, 14 Jul 2023 00:49:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1689310168; x=1689396568; bh=HY lwrxI2GyziI/dwUaL/Vu6Pu2UErGCgblF2RJ7D9PY=; b=vZVhZFBhNdeOReEPrg YhakdOGvxYdBbBSSyqxp8qZaVXe4dA8z9YDE5iHX0UYAl2DTUvEoAq/7DgKaKumC /nW+4WR0JdPHLpVwEKslLSKs4bf3/4oD/VfYcfgCWHuOrsE4XY9bu8iH4F7mXab+ Wd75iRobxAEHw3j/OZZksDcXV1VBOzFpSt8W7QLmYG71k7i5PvItrTp5U0YASaXy +0MEgTz8lRpbfO6ztC09v545iH8QTjQ2FTKYxyZ56NKxbsyEFO0xCRllyxLcS4+J dClSEaupMU/YSo2d645Z02HsumGX9uun81ZtkardkGFQq4IcqKUssuQiMMhhN3iu KR0g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1689310168; x=1689396568; bh=HYlwrxI2GyziI /dwUaL/Vu6Pu2UErGCgblF2RJ7D9PY=; b=gIq+qs0cV7MBuhU2s8pS2qnrRNKSm XGFTvQNW1bE2gp3byHJswi8tepBs0gw7rleyQWdP0mv+JqM70ZrLmHOEcFhmZDTV xKJ0G/20dlYi3PIE0MQTXhvf9JERDuCXYTL6TB5jSuETbNxira+2bURP7pgNqkzE RP+ktMISEjAsDcSBPCJ9DsMxhBbsizW771PyXqQ9U9fV4qg5k1ypQm9ujKf8zlGd yyetkyjjYdIp1+ZaL/BTUWJP/bBcRX3EQkpqx+E/dRN+skucizjBgTiZLSQkXqDT oLmvIcRW0RqYnzYTBM+DD+Lvmcfdj9IH2pEgOzSVtEFvEo80WrvCI7I6A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrfeehgdekkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfg hrlhcuvffnffculdejtddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddt vdenucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlsehprg hquhhivghrrdighiiiqeenucggtffrrghtthgvrhhnpeetleeifedufffhhfdtteelgeeg geffhfekueevteeigfduudevudetgfegiedvjeenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiii X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 14 Jul 2023 00:49:25 -0400 (EDT) Date: Fri, 14 Jul 2023 13:49:22 +0900 From: Michael Paquier To: "Drouvot, Bertrand" Cc: Andres Freund , PostgreSQL Hackers , Alvaro Herrera Subject: Re: Autogenerate some wait events code and documentation Message-ID: References: <20230707011943.qxbj3vj2iwsfgqvq@awork3.anarazel.de> <1f74adab-5ed8-450a-853a-f0b4bfe0e751@gmail.com> <9682e829-4120-a3d5-4834-d909ad4b49d8@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="mDCXkncTF9t9rTjM" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --mDCXkncTF9t9rTjM Content-Type: multipart/mixed; boundary="ei7iBo4F6T7PYpJr" Content-Disposition: inline --ei7iBo4F6T7PYpJr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Jul 13, 2023 at 10:26:54AM +0900, Michael Paquier wrote: > I would like to apply 0001 and 0002 to improve the format if there are > no objections. 0003 and 0004 are still here for discussion, as it > does not seem like a consensus has been reached for that yet. Getting > more opinions would be a good next step for the last two patches, I > assume. I have looked again at 0001 and 0002 and applied them to get them out of the way. 0003 and 0004 are rebased and attached. I'll add them to the CF for later consideration. More opinions are welcome. -- Michael --ei7iBo4F6T7PYpJr Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v3-0003-Rename-wait-events-with-more-consistent-camelcase.patch" Content-Transfer-Encoding: quoted-printable =46rom e4c2ae8d0879c1839d1873522155162e49f50788 Mon Sep 17 00:00:00 2001 =46rom: Michael Paquier Date: Sun, 9 Jul 2023 13:24:54 +0900 Subject: [PATCH v3 3/4] Rename wait events with more consistent camelcase style This will help in the introduction of more simplifications with the generation of wait event data using wait_event_names.txt. The event names used the same case-insensitive characters, hence applying lower() or upper() to the monitoring queries allows the detection of the same events as before this change. --- src/backend/libpq/pqmq.c | 2 +- src/backend/storage/ipc/shm_mq.c | 6 +- .../utils/activity/wait_event_names.txt | 90 +++++++++---------- 3 files changed, 49 insertions(+), 49 deletions(-) diff --git a/src/backend/libpq/pqmq.c b/src/backend/libpq/pqmq.c index 39e77ef945..87b8570a42 100644 --- a/src/backend/libpq/pqmq.c +++ b/src/backend/libpq/pqmq.c @@ -182,7 +182,7 @@ mq_putmessage(char msgtype, const char *s, size_t len) break; =20 (void) WaitLatch(MyLatch, WL_LATCH_SET | WL_EXIT_ON_PM_DEATH, 0, - WAIT_EVENT_MQ_PUT_MESSAGE); + WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE); ResetLatch(MyLatch); CHECK_FOR_INTERRUPTS(); } diff --git a/src/backend/storage/ipc/shm_mq.c b/src/backend/storage/ipc/shm= _mq.c index d134a09a19..06d6b73527 100644 --- a/src/backend/storage/ipc/shm_mq.c +++ b/src/backend/storage/ipc/shm_mq.c @@ -1017,7 +1017,7 @@ shm_mq_send_bytes(shm_mq_handle *mqh, Size nbytes, co= nst 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); =20 /* Reset the latch so we don't spin. */ ResetLatch(MyLatch); @@ -1163,7 +1163,7 @@ shm_mq_receive_bytes(shm_mq_handle *mqh, Size bytes_n= eeded, 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); =20 /* Reset the latch so we don't spin. */ ResetLatch(MyLatch); @@ -1252,7 +1252,7 @@ shm_mq_wait_internal(shm_mq *mq, PGPROC **ptr, Backgr= oundWorkerHandle *handle) =20 /* 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); =20 /* Reset the latch so we don't spin. */ ResetLatch(MyLatch); diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/= utils/activity/wait_event_names.txt index 3fabad96d9..c4967e274e 100644 --- a/src/backend/utils/activity/wait_event_names.txt +++ b/src/backend/utils/activity/wait_event_names.txt @@ -45,15 +45,15 @@ Section: ClassName - WaitEventActivity =20 WAIT_EVENT_ARCHIVER_MAIN ArchiverMain "Waiting in main loop of archiver pr= ocess." -WAIT_EVENT_AUTOVACUUM_MAIN AutoVacuumMain "Waiting in main loop of autovac= uum launcher process." -WAIT_EVENT_BGWRITER_HIBERNATE BgWriterHibernate "Waiting in background wri= ter 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 autovac= uum launcher process." +WAIT_EVENT_BGWRITER_HIBERNATE BgwriterHibernate "Waiting in background wri= ter 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 che= ckpointer process." WAIT_EVENT_LOGICAL_APPLY_MAIN LogicalApplyMain "Waiting in main loop of lo= gical 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 i= n 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 send= er process." WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writ= er process." @@ -71,11 +71,11 @@ Section: ClassName - WaitEventClient =20 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 cl= ient while establishing a GSSAPI session." -WAIT_EVENT_LIBPQWALRECEIVER_CONNECT LibPQWalReceiverConnect "Waiting in WA= L receiver to establish connection to remote server." -WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE LibPQWalReceiverReceive "Waiting in WA= L 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 cl= ient while establishing a GSSAPI session." +WAIT_EVENT_LIBPQWALRECEIVER_CONNECT LibpqwalreceiverConnect "Waiting in WA= L receiver to establish connection to remote server." +WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE LibpqwalreceiverReceive "Waiting in WA= L receiver to receive data from remote server." +WAIT_EVENT_SSL_OPEN_SERVER SslOpenServer "Waiting for SSL while attempting= connection." +WAIT_EVENT_WAL_SENDER_WAIT_WAL WalSenderWaitWal "Waiting for WAL to be flu= shed in WAL sender process." WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activ= ity when processing replies from WAL receiver in WAL sender process." =20 =20 @@ -93,10 +93,10 @@ WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND ArchiveCleanupComman= d "Waiting for to complete." WAIT_EVENT_BACKEND_TERMINATION BackendTermination "Waiting for the termina= tion of another backend." WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE BackupWaitWalArchive "Waiting for WAL f= iles required for a backup to be successfully archived." -WAIT_EVENT_BGWORKER_SHUTDOWN BgWorkerShutdown "Waiting for background work= er to shut down." -WAIT_EVENT_BGWORKER_STARTUP BgWorkerStartup "Waiting for background worker= to start up." +WAIT_EVENT_BGWORKER_SHUTDOWN BgworkerShutdown "Waiting for background work= er 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 con= tinue 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 com= plete." WAIT_EVENT_CHECKPOINT_START CheckpointStart "Waiting for a checkpoint to s= tart." WAIT_EVENT_EXECUTE_GATHER ExecuteGather "Waiting for activity from a child= process while executing a Gather plan node." @@ -119,14 +119,14 @@ WAIT_EVENT_LOGICAL_APPLY_SEND_DATA LogicalApplySendDa= ta "Waiting for a logical r WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE LogicalParallelApplyStateCh= ange "Waiting for a logical replication parallel apply process to change st= ate." WAIT_EVENT_LOGICAL_SYNC_DATA LogicalSyncData "Waiting for a logical replic= ation 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 t= o be attached to a shared message queue." -WAIT_EVENT_MQ_PUT_MESSAGE MessageQueuePutMessage "Waiting to write a proto= col 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 mes= sage queue." +WAIT_EVENT_MESSAGE_QUEUE_INTERNAL MessageQueueInternal "Waiting for anothe= r process to be attached to a shared message queue." +WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE MessageQueuePutMessage "Waiting to wr= ite a protocol message to a shared message queue." +WAIT_EVENT_MESSAGE_QUEUE_RECEIVE MessageQueueReceive "Waiting to receive b= ytes 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 b= itmap scan to become initialized." WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN ParallelCreateIndexScan "Waiting for= parallel CREATE INDEX workers to finish heap scan." WAIT_EVENT_PARALLEL_FINISH ParallelFinish "Waiting for parallel workers to= finish computing." -WAIT_EVENT_PROCARRAY_GROUP_UPDATE ProcArrayGroupUpdate "Waiting for the gr= oup leader to clear the transaction ID at end of a parallel operation." +WAIT_EVENT_PROCARRAY_GROUP_UPDATE ProcarrayGroupUpdate "Waiting for the gr= oup leader to clear the transaction ID at end of a parallel operation." WAIT_EVENT_PROC_SIGNAL_BARRIER ProcSignalBarrier "Waiting for a barrier ev= ent to be processed by all backends." WAIT_EVENT_PROMOTE Promote "Waiting for standby promotion." WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT RecoveryConflictSnapshot "Waiting fo= r recovery conflict resolution for a vacuum cleanup." @@ -170,12 +170,12 @@ WAIT_EVENT_VACUUM_TRUNCATE VacuumTruncate "Waiting to= acquire an exclusive lock =20 Section: ClassName - WaitEventIO =20 -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 b= ase backup to reach durable storage." -WAIT_EVENT_BASEBACKUP_WRITE BaseBackupWrite "Waiting for base backup to wr= ite to a file." -WAIT_EVENT_BUFFILE_READ BufFileRead "Waiting for a read from a buffered fi= le." -WAIT_EVENT_BUFFILE_WRITE BufFileWrite "Waiting for a write to a buffered f= ile." -WAIT_EVENT_BUFFILE_TRUNCATE BufFileTruncate "Waiting for a buffered file t= o 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 b= ase backup to reach durable storage." +WAIT_EVENT_BASEBACKUP_WRITE BasebackupWrite "Waiting for base backup to wr= ite to a file." +WAIT_EVENT_BUFFILE_READ BuffileRead "Waiting for a read from a buffered fi= le." +WAIT_EVENT_BUFFILE_WRITE BuffileWrite "Waiting for a write to a buffered f= ile." +WAIT_EVENT_BUFFILE_TRUNCATE BuffileTruncate "Waiting for a buffered file t= o be truncated." WAIT_EVENT_CONTROL_FILE_READ ControlFileRead "Waiting for a read from the = pg_control file." WAIT_EVENT_CONTROL_FILE_SYNC ControlFileSync "Waiting for the pg= _control file to reach durable storage. Waiting for an update to= the pg_control file to reach durable storage." WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE ControlFileSyncUpdate "Waiting for an = update to the pg_control file to reach durable storage= =2E" @@ -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 dat= a file to be truncated." WAIT_EVENT_DATA_FILE_WRITE DataFileWrite "Waiting for a write to a relatio= n data file." -WAIT_EVENT_DSM_ALLOCATE DSMAllocate "Waiting for a dynamic shared memory s= egment 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 f= or a read while adding a line to the data directory lock file." -WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC LockFileAddToDataDirSync "Waiting f= or 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 s= egment 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 f= or a read while adding a line to the data directory lock file." +WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC LockFileAddtodatadirSync "Waiting f= or 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 r= each 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 "Waiti= ng for a read during recheck of the data directory lock file." +WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ LockFileRecheckdatadirRead "Waiti= ng for a read during recheck of the data directory lock file." WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC LogicalRewriteCheckpointSync "W= aiting for logical rewrite mappings to reach durable storage during a check= point." 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 "Waiti= ng 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 "Waiti= ng for a replication slot control file to reach durable storage while resto= ring it to memory." WAIT_EVENT_REPLICATION_SLOT_SYNC ReplicationSlotSync "Waiting for a replic= ation slot control file to reach durable storage." WAIT_EVENT_REPLICATION_SLOT_WRITE ReplicationSlotWrite "Waiting for a writ= e to a replication slot control file." -WAIT_EVENT_SLRU_FLUSH_SYNC SLRUFlushSync "Waiting for SLRU data to reach d= urable 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 stor= age 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 d= urable 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 stor= age 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 serialize= d historical catalog snapshot." WAIT_EVENT_SNAPBUILD_SYNC SnapbuildSync "Waiting for a serialized historic= al catalog snapshot to reach durable storage." WAIT_EVENT_SNAPBUILD_WRITE SnapbuildWrite "Waiting for a write of a serial= ized historical catalog snapshot." @@ -232,18 +232,18 @@ WAIT_EVENT_TWOPHASE_FILE_READ TwophaseFileRead "Waiti= ng for a read of a two phas WAIT_EVENT_TWOPHASE_FILE_SYNC TwophaseFileSync "Waiting for a two phase st= ate 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 fi= le to be written while creating a database." -WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ WALSenderTimelineHistoryRead "W= aiting for a read from a timeline history file during a walsender timeline = command." -WAIT_EVENT_WAL_BOOTSTRAP_SYNC WALBootstrapSync "Waiting for WAL to reach d= urable 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 n= ew WAL segment by copying an existing one." -WAIT_EVENT_WAL_COPY_SYNC WALCopySync "Waiting for a new WAL segment create= d 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 initiali= zing 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 stora= ge. Waiting for data to reach durable storage while assigning a new WAL syn= c method." -WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WALSyncMethodAssign "Waiting for data to= reach durable storage while assigning a new WAL sync method." -WAIT_EVENT_WAL_WRITE WALWrite "Waiting for a write to a WAL file. Waiting = for WAL buffers to be written to disk." +WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ WalsenderTimelineHistoryRead "W= aiting for a read from a timeline history file during a walsender timeline = command." +WAIT_EVENT_WAL_BOOTSTRAP_SYNC WalBootstrapSync "Waiting for WAL to reach d= urable 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 n= ew WAL segment by copying an existing one." +WAIT_EVENT_WAL_COPY_SYNC WalCopySync "Waiting for a new WAL segment create= d 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 initiali= zing 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 stora= ge. Waiting for data to reach durable storage while assigning a new WAL syn= c method." +WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WalSyncMethodAssign "Waiting for data to= reach durable storage while assigning a new WAL sync method." +WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file. Waiting = for WAL buffers to be written to disk." =20 =20 # --=20 2.40.1 --ei7iBo4F6T7PYpJr Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v3-0004-Remove-column-for-enum-elements-in-wait_event_nam.patch" Content-Transfer-Encoding: quoted-printable =46rom b6390183bdcc054df82279bb0b2991730f85a0a3 Mon Sep 17 00:00:00 2001 =46rom: Michael Paquier Date: Thu, 13 Jul 2023 10:14:47 +0900 Subject: [PATCH v3 4/4] Remove column for enum elements in wait_event_names.txt This file is now made of two columns, removing the column listing the enum elements for each wait event class: - Camelcase event name used in pg_stat_activity. There are now unquoted. - Description of the documentation. The enum elements are generated from what is now the first column. --- .../activity/generate-wait_event_types.pl | 24 +- .../utils/activity/wait_event_names.txt | 503 +++++++++--------- 2 files changed, 266 insertions(+), 261 deletions(-) diff --git a/src/backend/utils/activity/generate-wait_event_types.pl b/src/= backend/utils/activity/generate-wait_event_types.pl index f63c991051..1d2489f268 100644 --- a/src/backend/utils/activity/generate-wait_event_types.pl +++ b/src/backend/utils/activity/generate-wait_event_types.pl @@ -73,20 +73,24 @@ my @lines_sorted =3D foreach my $line (@lines_sorted) { die "unable to parse wait_event_names.txt for line $line\n" - unless $line =3D~ /^(\w+)\t+(\w+)\t+(\w+)\t+("\w.*\.")$/; + unless $line =3D~ /^(\w+)\t+(\w+)\t+("\w.*\.")$/; =20 - ( my $waitclassname, - my $waiteventenumname, - my $waiteventdescription, - my $waitevendocsentence) =3D split(/\t/, $line); + (my $waitclassname, my $waiteventdescription, my $waitevendocsentence) =3D + split(/\t/, $line); =20 + # Generate the element name for the enums based on the + # description. Camelcase strings like "FooBarName" + # are converted to WAIT_EVENT_FOO_BAR_NAME. + my $waiteventenumname =3D $waiteventdescription; + # Add underscores between sequences of lower-case and upper-case + # characters, then upper-case the whole. + $waiteventenumname =3D~ s/([a-z])([A-Z])/$1_$2/g; + $waiteventenumname =3D uc($waiteventenumname); + $waiteventenumname =3D "WAIT_EVENT_$waiteventenumname"; + + # Store the event into the list for each class. my @waiteventlist =3D [ $waiteventenumname, $waiteventdescription, $waitevendocsentence ]; - my $trimmedwaiteventname =3D $waiteventenumname; - $trimmedwaiteventname =3D~ s/^WAIT_EVENT_//; - - die "wait event names must start with 'WAIT_EVENT_'" - if ($trimmedwaiteventname eq $waiteventenumname); push(@{ $hashwe{$waitclassname} }, @waiteventlist); } =20 diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/= utils/activity/wait_event_names.txt index c4967e274e..20f58c5d25 100644 --- a/src/backend/utils/activity/wait_event_names.txt +++ b/src/backend/utils/activity/wait_event_names.txt @@ -7,10 +7,16 @@ # This list serves as the basis for generating source and documentation fi= les # related to wait events. # +# This file defines one wait event per line, with the following +# tab-separated fields: +# +# "format in the system views" "description in the docs" +# # The files generated from this one are: # # src/backend/utils/activity/wait_event_types.h -# typedef enum definitions for wait events. +# typedef enum definitions for wait events, generated from the first +# field. # # src/backend/utils/activity/pgstat_wait_event.c # C functions to get the wait event name based on the enum. @@ -18,11 +24,6 @@ # src/backend/utils/activity/wait_event_types.sgml # SGML tables of wait events for inclusion in the documentation. # -# This file defines one wait event per line, with the following -# tab-separated fields: -# -# "C symbol in enums" "format in the system views" "description in the d= ocs" -# # When adding a new wait event, make sure it is placed in the appropriate # ClassName section. # @@ -44,19 +45,19 @@ =20 Section: ClassName - WaitEventActivity =20 -WAIT_EVENT_ARCHIVER_MAIN ArchiverMain "Waiting in main loop of archiver pr= ocess." -WAIT_EVENT_AUTOVACUUM_MAIN AutovacuumMain "Waiting in main loop of autovac= uum launcher process." -WAIT_EVENT_BGWRITER_HIBERNATE BgwriterHibernate "Waiting in background wri= ter 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 che= ckpointer process." -WAIT_EVENT_LOGICAL_APPLY_MAIN LogicalApplyMain "Waiting in main loop of lo= gical 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 i= n 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 send= er process." -WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in main loop of WAL writ= er process." +ArchiverMain "Waiting in main loop of archiver process." +AutovacuumMain "Waiting in main loop of autovacuum launcher process." +BgwriterHibernate "Waiting in background writer process, hibernating." +BgwriterMain "Waiting in main loop of background writer process." +CheckpointerMain "Waiting in main loop of checkpointer process." +LogicalApplyMain "Waiting in main loop of logical replication apply proces= s." +LogicalLauncherMain "Waiting in main loop of logical replication launcher = process." +LogicalParallelApplyMain "Waiting in main loop of logical replication para= llel apply process." +RecoveryWalStream "Waiting in main loop of startup process for WAL to arri= ve, during streaming recovery." +SysloggerMain "Waiting in main loop of syslogger process." +WalReceiverMain "Waiting in main loop of WAL receiver process." +WalSenderMain "Waiting in main loop of WAL sender process." +WalWriterMain "Waiting in main loop of WAL writer process." =20 =20 # @@ -69,14 +70,14 @@ WAIT_EVENT_WAL_WRITER_MAIN WalWriterMain "Waiting in ma= in loop of WAL writer pro =20 Section: ClassName - WaitEventClient =20 -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 cl= ient while establishing a GSSAPI session." -WAIT_EVENT_LIBPQWALRECEIVER_CONNECT LibpqwalreceiverConnect "Waiting in WA= L receiver to establish connection to remote server." -WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE LibpqwalreceiverReceive "Waiting in WA= L receiver to receive data from remote server." -WAIT_EVENT_SSL_OPEN_SERVER SslOpenServer "Waiting for SSL while attempting= connection." -WAIT_EVENT_WAL_SENDER_WAIT_WAL WalSenderWaitWal "Waiting for WAL to be flu= shed in WAL sender process." -WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Waiting for any activ= ity when processing replies from WAL receiver in WAL sender process." +ClientRead "Waiting to read data from the client." +ClientWrite "Waiting to write data to the client." +GssOpenServer "Waiting to read data from the client while establishing a G= SSAPI session." +LibpqwalreceiverConnect "Waiting in WAL receiver to establish connection t= o remote server." +LibpqwalreceiverReceive "Waiting in WAL receiver to receive data from remo= te server." +SslOpenServer "Waiting for SSL while attempting connection." +WalSenderWaitWal "Waiting for WAL to be flushed in WAL sender process." +WalSenderWriteData "Waiting for any activity when processing replies from = WAL receiver in WAL sender process." =20 =20 # @@ -88,59 +89,59 @@ WAIT_EVENT_WAL_SENDER_WRITE_DATA WalSenderWriteData "Wa= iting for any activity wh =20 Section: ClassName - WaitEventIPC =20 -WAIT_EVENT_APPEND_READY AppendReady "Waiting for subplan nodes of an Append plan node to be ready." -WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND ArchiveCleanupCommand "Waiting for to complete." -WAIT_EVENT_ARCHIVE_COMMAND ArchiveCommand "Waiting for to complete." -WAIT_EVENT_BACKEND_TERMINATION BackendTermination "Waiting for the termina= tion of another backend." -WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE BackupWaitWalArchive "Waiting for WAL f= iles required for a backup to be successfully archived." -WAIT_EVENT_BGWORKER_SHUTDOWN BgworkerShutdown "Waiting for background work= er 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 con= tinue 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 com= plete." -WAIT_EVENT_CHECKPOINT_START CheckpointStart "Waiting for a checkpoint to s= tart." -WAIT_EVENT_EXECUTE_GATHER ExecuteGather "Waiting for activity from a child= process while executing a Gather plan node." -WAIT_EVENT_HASH_BATCH_ALLOCATE HashBatchAllocate "Waiting for an elected P= arallel Hash participant to allocate a hash table." -WAIT_EVENT_HASH_BATCH_ELECT HashBatchElect "Waiting to elect a Parallel Ha= sh 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 P= arallel Hash participant to allocate the initial hash table." -WAIT_EVENT_HASH_BUILD_ELECT HashBuildElect "Waiting to elect a Parallel Ha= sh participant to allocate the initial hash table." -WAIT_EVENT_HASH_BUILD_HASH_INNER HashBuildHashInner "Waiting for other Par= allel Hash participants to finish hashing the inner relation." -WAIT_EVENT_HASH_BUILD_HASH_OUTER HashBuildHashOuter "Waiting for other Par= allel Hash participants to finish partitioning the outer relation." -WAIT_EVENT_HASH_GROW_BATCHES_DECIDE HashGrowBatchesDecide "Waiting to elec= t 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 "Waiti= ng 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= =2E" -WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT HashGrowBucketsReinsert "Waiting for= other Parallel Hash participants to finish inserting tuples into new bucke= ts." -WAIT_EVENT_LOGICAL_APPLY_SEND_DATA LogicalApplySendData "Waiting for a log= ical replication leader apply process to send data to a parallel apply proc= ess." -WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE LogicalParallelApplyStateCh= ange "Waiting for a logical replication parallel apply process to change st= ate." -WAIT_EVENT_LOGICAL_SYNC_DATA LogicalSyncData "Waiting for a logical replic= ation 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 anothe= r process to be attached to a shared message queue." -WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE MessageQueuePutMessage "Waiting to wr= ite a protocol message to a shared message queue." -WAIT_EVENT_MESSAGE_QUEUE_RECEIVE MessageQueueReceive "Waiting to receive b= ytes 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 b= itmap scan to become initialized." -WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN ParallelCreateIndexScan "Waiting for= parallel CREATE INDEX workers to finish heap scan." -WAIT_EVENT_PARALLEL_FINISH ParallelFinish "Waiting for parallel workers to= finish computing." -WAIT_EVENT_PROCARRAY_GROUP_UPDATE ProcarrayGroupUpdate "Waiting for the gr= oup leader to clear the transaction ID at end of a parallel operation." -WAIT_EVENT_PROC_SIGNAL_BARRIER ProcSignalBarrier "Waiting for a barrier ev= ent to be processed by all backends." -WAIT_EVENT_PROMOTE Promote "Waiting for standby promotion." -WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT RecoveryConflictSnapshot "Waiting fo= r recovery conflict resolution for a vacuum cleanup." -WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE RecoveryConflictTablespace "Waitin= g for recovery conflict resolution for dropping a tablespace." -WAIT_EVENT_RECOVERY_END_COMMAND RecoveryEndCommand "Waiting for to complete." -WAIT_EVENT_RECOVERY_PAUSE RecoveryPause "Waiting for recovery to be resume= d." -WAIT_EVENT_REPLICATION_ORIGIN_DROP ReplicationOriginDrop "Waiting for a re= plication origin to become inactive so it can be dropped." -WAIT_EVENT_REPLICATION_SLOT_DROP ReplicationSlotDrop "Waiting for a replic= ation slot to become inactive so it can be dropped." -WAIT_EVENT_RESTORE_COMMAND RestoreCommand "Waiting for to complete." -WAIT_EVENT_SAFE_SNAPSHOT SafeSnapshot "Waiting to obtain a valid snapshot = for a READ ONLY DEFERRABLE transaction." -WAIT_EVENT_SYNC_REP SyncRep "Waiting for confirmation from a remote server= during synchronous replication. Waiting to read or update information abou= t the state of synchronous replication." -WAIT_EVENT_WAL_RECEIVER_EXIT WalReceiverExit "Waiting for the WAL receiver= to exit." -WAIT_EVENT_WAL_RECEIVER_WAIT_START WalReceiverWaitStart "Waiting for start= up process to send initial data for streaming replication." -WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting for the group leader= to update transaction status at end of a parallel operation." +AppendReady "Waiting for subplan nodes of an Append pla= n node to be ready." +ArchiveCleanupCommand "Waiting for to complete." +ArchiveCommand "Waiting for to com= plete." +BackendTermination "Waiting for the termination of another backend." +BackupWaitWalArchive "Waiting for WAL files required for a backup to be su= ccessfully archived." +BgworkerShutdown "Waiting for background worker to shut down." +BgworkerStartup "Waiting for background worker to start up." +BtreePage "Waiting for the page number needed to continue a parallel B-tre= e scan to become available." +BufferIo "Waiting for buffer I/O to complete." +CheckpointDone "Waiting for a checkpoint to complete." +CheckpointStart "Waiting for a checkpoint to start." +ExecuteGather "Waiting for activity from a child process while executing a= Gather plan node." +HashBatchAllocate "Waiting for an elected Parallel Hash participant to all= ocate a hash table." +HashBatchElect "Waiting to elect a Parallel Hash participant to allocate a= hash table." +HashBatchLoad "Waiting for other Parallel Hash participants to finish load= ing a hash table." +HashBuildAllocate "Waiting for an elected Parallel Hash participant to all= ocate the initial hash table." +HashBuildElect "Waiting to elect a Parallel Hash participant to allocate t= he initial hash table." +HashBuildHashInner "Waiting for other Parallel Hash participants to finish= hashing the inner relation." +HashBuildHashOuter "Waiting for other Parallel Hash participants to finish= partitioning the outer relation." +HashGrowBatchesDecide "Waiting to elect a Parallel Hash participant to dec= ide on future batch growth." +HashGrowBatchesElect "Waiting to elect a Parallel Hash participant to allo= cate more batches." +HashGrowBatchesFinish "Waiting for an elected Parallel Hash participant to= decide on future batch growth." +HashGrowBatchesReallocate "Waiting for an elected Parallel Hash participan= t to allocate more batches." +HashGrowBatchesRepartition "Waiting for other Parallel Hash participants t= o finish repartitioning." +HashGrowBucketsElect "Waiting to elect a Parallel Hash participant to allo= cate more buckets." +HashGrowBucketsReallocate "Waiting for an elected Parallel Hash participan= t to finish allocating more buckets." +HashGrowBucketsReinsert "Waiting for other Parallel Hash participants to f= inish inserting tuples into new buckets." +LogicalApplySendData "Waiting for a logical replication leader apply proce= ss to send data to a parallel apply process." +LogicalParallelApplyStateChange "Waiting for a logical replication paralle= l apply process to change state." +LogicalSyncData "Waiting for a logical replication remote server to send d= ata for initial table synchronization." +LogicalSyncStateChange "Waiting for a logical replication remote server to= change state." +MessageQueueInternal "Waiting for another process to be attached to a shar= ed message queue." +MessageQueuePutMessage "Waiting to write a protocol message to a shared me= ssage queue." +MessageQueueReceive "Waiting to receive bytes from a shared message queue." +MessageQueueSend "Waiting to send bytes to a shared message queue." +ParallelBitmapScan "Waiting for parallel bitmap scan to become initialized= =2E" +ParallelCreateIndexScan "Waiting for parallel CREATE INDEX workers to finish heap scan." +ParallelFinish "Waiting for parallel workers to finish computing." +ProcarrayGroupUpdate "Waiting for the group leader to clear the transactio= n ID at end of a parallel operation." +ProcSignalBarrier "Waiting for a barrier event to be processed by all back= ends." +Promote "Waiting for standby promotion." +RecoveryConflictSnapshot "Waiting for recovery conflict resolution for a v= acuum cleanup." +RecoveryConflictTablespace "Waiting for recovery conflict resolution for d= ropping a tablespace." +RecoveryEndCommand "Waiting for to complete." +RecoveryPause "Waiting for recovery to be resumed." +ReplicationOriginDrop "Waiting for a replication origin to become inactive= so it can be dropped." +ReplicationSlotDrop "Waiting for a replication slot to become inactive so = it can be dropped." +RestoreCommand "Waiting for to com= plete." +SafeSnapshot "Waiting to obtain a valid snapshot for a READ ONLY = DEFERRABLE transaction." +SyncRep "Waiting for confirmation from a remote server during synchronous = replication. Waiting to read or update information about the state of synch= ronous replication." +WalReceiverExit "Waiting for the WAL receiver to exit." +WalReceiverWaitStart "Waiting for startup process to send initial data for= streaming replication." +XactGroupUpdate "Waiting for the group leader to update transaction status= at end of a parallel operation." =20 =20 # @@ -151,15 +152,15 @@ WAIT_EVENT_XACT_GROUP_UPDATE XactGroupUpdate "Waiting= for the group leader to up =20 Section: ClassName - WaitEventTimeout =20 -WAIT_EVENT_BASE_BACKUP_THROTTLE BaseBackupThrottle "Waiting during base ba= ckup when throttling activity." -WAIT_EVENT_CHECKPOINT_WRITE_DELAY CheckpointWriteDelay "Waiting between wr= ites while performing a checkpoint." -WAIT_EVENT_PG_SLEEP PgSleep "Waiting due to a call to pg_sleep or a sibling function." -WAIT_EVENT_RECOVERY_APPLY_DELAY RecoveryApplyDelay "Waiting to apply WAL d= uring recovery because of a delay setting." -WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL RecoveryRetrieveRetryInterval = "Waiting during recovery when WAL data is not available from any source (pg_wal, archive or stream)." -WAIT_EVENT_REGISTER_SYNC_REQUEST RegisterSyncRequest "Waiting while sendin= g synchronization requests to the checkpointer, because the request queue i= s full." -WAIT_EVENT_SPIN_DELAY SpinDelay "Waiting while acquiring a contended spinl= ock." -WAIT_EVENT_VACUUM_DELAY VacuumDelay "Waiting in a cost-based vacuum delay = point." -WAIT_EVENT_VACUUM_TRUNCATE VacuumTruncate "Waiting to acquire an exclusive= lock to truncate off any empty pages at the end of a table vacuumed." +BaseBackupThrottle "Waiting during base backup when throttling activity." +CheckpointWriteDelay "Waiting between writes while performing a checkpoint= =2E" +PgSleep "Waiting due to a call to pg_sleep or a sibli= ng function." +RecoveryApplyDelay "Waiting to apply WAL during recovery because of a dela= y setting." +RecoveryRetrieveRetryInterval "Waiting during recovery when WAL data is no= t available from any source (pg_wal, archive or stream= )." +RegisterSyncRequest "Waiting while sending synchronization requests to the= checkpointer, because the request queue is full." +SpinDelay "Waiting while acquiring a contended spinlock." +VacuumDelay "Waiting in a cost-based vacuum delay point." +VacuumTruncate "Waiting to acquire an exclusive lock to truncate off any e= mpty pages at the end of a table vacuumed." =20 =20 # @@ -170,80 +171,80 @@ WAIT_EVENT_VACUUM_TRUNCATE VacuumTruncate "Waiting to= acquire an exclusive lock =20 Section: ClassName - WaitEventIO =20 -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 b= ase backup to reach durable storage." -WAIT_EVENT_BASEBACKUP_WRITE BasebackupWrite "Waiting for base backup to wr= ite to a file." -WAIT_EVENT_BUFFILE_READ BuffileRead "Waiting for a read from a buffered fi= le." -WAIT_EVENT_BUFFILE_WRITE BuffileWrite "Waiting for a write to a buffered f= ile." -WAIT_EVENT_BUFFILE_TRUNCATE BuffileTruncate "Waiting for a buffered file t= o be truncated." -WAIT_EVENT_CONTROL_FILE_READ ControlFileRead "Waiting for a read from the = pg_control file." -WAIT_EVENT_CONTROL_FILE_SYNC ControlFileSync "Waiting for the pg= _control file to reach durable storage. Waiting for an update to= the pg_control file to reach durable storage." -WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE ControlFileSyncUpdate "Waiting for an = update to the pg_control file to reach durable storage= =2E" -WAIT_EVENT_CONTROL_FILE_WRITE ControlFileWrite "Waiting for a write to the= pg_control file. Waiting for a write to update the pg_control file." -WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE ControlFileWriteUpdate "Waiting for a= write to update the pg_control file." -WAIT_EVENT_COPY_FILE_READ CopyFileRead "Waiting for a read during a file c= opy operation." -WAIT_EVENT_COPY_FILE_WRITE CopyFileWrite "Waiting for a write during a fil= e copy operation." -WAIT_EVENT_DATA_FILE_EXTEND DataFileExtend "Waiting for a relation data fi= le 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 asynchronou= s 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 dat= a file to be truncated." -WAIT_EVENT_DATA_FILE_WRITE DataFileWrite "Waiting for a write to a relatio= n data file." -WAIT_EVENT_DSM_ALLOCATE DsmAllocate "Waiting for a dynamic shared memory s= egment 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 f= or a read while adding a line to the data directory lock file." -WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC LockFileAddtodatadirSync "Waiting f= or 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 r= each 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 "Waiti= ng for a read during recheck of the data directory lock file." -WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC LogicalRewriteCheckpointSync "W= aiting for logical rewrite mappings to reach durable storage during a check= point." -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 "Waiti= ng for a write of mapping data during a logical rewrite." -WAIT_EVENT_LOGICAL_REWRITE_SYNC LogicalRewriteSync "Waiting for logical re= write mappings to reach durable storage." -WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE LogicalRewriteTruncate "Waiting for tr= uncate 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 re= lation map file." -WAIT_EVENT_RELATION_MAP_REPLACE RelationMapReplace "Waiting for durable re= placement 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 durin= g reorder buffer management." -WAIT_EVENT_REORDER_BUFFER_WRITE ReorderBufferWrite "Waiting for a write du= ring 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 f= rom a replication slot control file." -WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC ReplicationSlotRestoreSync "Waiti= ng for a replication slot control file to reach durable storage while resto= ring it to memory." -WAIT_EVENT_REPLICATION_SLOT_SYNC ReplicationSlotSync "Waiting for a replic= ation slot control file to reach durable storage." -WAIT_EVENT_REPLICATION_SLOT_WRITE ReplicationSlotWrite "Waiting for a writ= e to a replication slot control file." -WAIT_EVENT_SLRU_FLUSH_SYNC SlruFlushSync "Waiting for SLRU data to reach d= urable 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 stor= age 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 serialize= d historical catalog snapshot." -WAIT_EVENT_SNAPBUILD_SYNC SnapbuildSync "Waiting for a serialized historic= al catalog snapshot to reach durable storage." -WAIT_EVENT_SNAPBUILD_WRITE SnapbuildWrite "Waiting for a write of a serial= ized historical catalog snapshot." -WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC TimelineHistoryFileSync "Waiting for= a timeline history file received via streaming replication to reach durabl= e storage." -WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE TimelineHistoryFileWrite "Waiting f= or a write of a timeline history file received via streaming replication." -WAIT_EVENT_TIMELINE_HISTORY_READ TimelineHistoryRead "Waiting for a read o= f 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 writ= e of a newly created timeline history file." -WAIT_EVENT_TWOPHASE_FILE_READ TwophaseFileRead "Waiting for a read of a tw= o phase state file." -WAIT_EVENT_TWOPHASE_FILE_SYNC TwophaseFileSync "Waiting for a two phase st= ate 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 fi= le to be written while creating a database." -WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ WalsenderTimelineHistoryRead "W= aiting for a read from a timeline history file during a walsender timeline = command." -WAIT_EVENT_WAL_BOOTSTRAP_SYNC WalBootstrapSync "Waiting for WAL to reach d= urable 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 n= ew WAL segment by copying an existing one." -WAIT_EVENT_WAL_COPY_SYNC WalCopySync "Waiting for a new WAL segment create= d 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 initiali= zing 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 stora= ge. Waiting for data to reach durable storage while assigning a new WAL syn= c method." -WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN WalSyncMethodAssign "Waiting for data to= reach durable storage while assigning a new WAL sync method." -WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a WAL file. Waiting = for WAL buffers to be written to disk." +BasebackupRead "Waiting for base backup to read from a file." +BasebackupSync "Waiting for data written by a base backup to reach durable= storage." +BasebackupWrite "Waiting for base backup to write to a file." +BuffileRead "Waiting for a read from a buffered file." +BuffileWrite "Waiting for a write to a buffered file." +BuffileTruncate "Waiting for a buffered file to be truncated." +ControlFileRead "Waiting for a read from the pg_control file." +ControlFileSync "Waiting for the pg_control file to r= each durable storage. Waiting for an update to the pg_control file to reach durable storage." +ControlFileSyncUpdate "Waiting for an update to the pg_control file to reach durable storage." +ControlFileWrite "Waiting for a write to the pg_control file. Waiting for a write to update the pg_control = file." +ControlFileWriteUpdate "Waiting for a write to update the pg_con= trol file." +CopyFileRead "Waiting for a read during a file copy operation." +CopyFileWrite "Waiting for a write during a file copy operation." +DataFileExtend "Waiting for a relation data file to be extended." +DataFileFlush "Waiting for a relation data file to reach durable storage." +DataFileImmediateSync "Waiting for an immediate synchronization of a relat= ion data file to durable storage." +DataFilePrefetch "Waiting for an asynchronous prefetch from a relation dat= a file." +DataFileRead "Waiting for a read from a relation data file." +DataFileSync "Waiting for changes to a relation data file to reach durable= storage." +DataFileTruncate "Waiting for a relation data file to be truncated." +DataFileWrite "Waiting for a write to a relation data file." +DsmAllocate "Waiting for a dynamic shared memory segment to be allocated." +DsmFillZeroWrite "Waiting to fill a dynamic shared memory backing file wit= h zeroes." +LockFileAddtodatadirRead "Waiting for a read while adding a line to the da= ta directory lock file." +LockFileAddtodatadirSync "Waiting for data to reach durable storage while = adding a line to the data directory lock file." +LockFileAddtodatadirWrite "Waiting for a write while adding a line to the = data directory lock file." +LockFileCreateRead "Waiting to read while creating the data directory lock= file." +LockFileCreateSync "Waiting for data to reach durable storage while creati= ng the data directory lock file." +LockFileCreateWrite "Waiting for a write while creating the data directory= lock file." +LockFileRecheckdatadirRead "Waiting for a read during recheck of the data = directory lock file." +LogicalRewriteCheckpointSync "Waiting for logical rewrite mappings to reac= h durable storage during a checkpoint." +LogicalRewriteMappingSync "Waiting for mapping data to reach durable stora= ge during a logical rewrite." +LogicalRewriteMappingWrite "Waiting for a write of mapping data during a l= ogical rewrite." +LogicalRewriteSync "Waiting for logical rewrite mappings to reach durable = storage." +LogicalRewriteTruncate "Waiting for truncate of mapping data during a logi= cal rewrite." +LogicalRewriteWrite "Waiting for a write of logical rewrite mappings." +RelationMapRead "Waiting for a read of the relation map file." +RelationMapReplace "Waiting for durable replacement of a relation map file= =2E" +RelationMapWrite "Waiting for a write to the relation map file." +ReorderBufferRead "Waiting for a read during reorder buffer management." +ReorderBufferWrite "Waiting for a write during reorder buffer management." +ReorderLogicalMappingRead "Waiting for a read of a logical mapping during = reorder buffer management." +ReplicationSlotRead "Waiting for a read from a replication slot control fi= le." +ReplicationSlotRestoreSync "Waiting for a replication slot control file to= reach durable storage while restoring it to memory." +ReplicationSlotSync "Waiting for a replication slot control file to reach = durable storage." +ReplicationSlotWrite "Waiting for a write to a replication slot control fi= le." +SlruFlushSync "Waiting for SLRU data to reach durable storage during a che= ckpoint or database shutdown." +SlruRead "Waiting for a read of an SLRU page." +SlruSync "Waiting for SLRU data to reach durable storage following a page = write." +SlruWrite "Waiting for a write of an SLRU page." +SnapbuildRead "Waiting for a read of a serialized historical catalog snaps= hot." +SnapbuildSync "Waiting for a serialized historical catalog snapshot to rea= ch durable storage." +SnapbuildWrite "Waiting for a write of a serialized historical catalog sna= pshot." +TimelineHistoryFileSync "Waiting for a timeline history file received via = streaming replication to reach durable storage." +TimelineHistoryFileWrite "Waiting for a write of a timeline history file r= eceived via streaming replication." +TimelineHistoryRead "Waiting for a read of a timeline history file." +TimelineHistorySync "Waiting for a newly created timeline history file to = reach durable storage." +TimelineHistoryWrite "Waiting for a write of a newly created timeline hist= ory file." +TwophaseFileRead "Waiting for a read of a two phase state file." +TwophaseFileSync "Waiting for a two phase state file to reach durable stor= age." +TwophaseFileWrite "Waiting for a write of a two phase state file." +VersionFileWrite "Waiting for the version file to be written while creatin= g a database." +WalsenderTimelineHistoryRead "Waiting for a read from a timeline history f= ile during a walsender timeline command." +WalBootstrapSync "Waiting for WAL to reach durable storage during bootstra= pping." +WalBootstrapWrite "Waiting for a write of a WAL page during bootstrapping." +WalCopyRead "Waiting for a read when creating a new WAL segment by copying= an existing one." +WalCopySync "Waiting for a new WAL segment created by copying an existing = one to reach durable storage." +WalCopyWrite "Waiting for a write when creating a new WAL segment by copyi= ng an existing one." +WalInitSync "Waiting for a newly initialized WAL file to reach durable sto= rage." +WalInitWrite "Waiting for a write while initializing a new WAL file." +WalRead "Waiting for a read from a WAL file." +WalSync "Waiting for a WAL file to reach durable storage. Waiting for data= to reach durable storage while assigning a new WAL sync method." +WalSyncMethodAssign "Waiting for data to reach durable storage while assig= ning a new WAL sync method." +WalWrite "Waiting for a write to a WAL file. Waiting for WAL buffers to be= written to disk." =20 =20 # @@ -252,7 +253,7 @@ WAIT_EVENT_WAL_WRITE WalWrite "Waiting for a write to a= WAL file. Waiting for WA =20 Section: ClassName - WaitEventBufferPin =20 -WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an exclusive pin on a = buffer." +BufferPin "Waiting to acquire an exclusive pin on a buffer." =20 =20 # @@ -261,7 +262,7 @@ WAIT_EVENT_BUFFER_PIN BufferPin "Waiting to acquire an = exclusive pin on a buffer =20 Section: ClassName - WaitEventExtension =20 -WAIT_EVENT_EXTENSION Extension "Waiting in an extension." +Extension "Waiting in an extension." =20 # # Wait events - LWLock @@ -272,81 +273,81 @@ WAIT_EVENT_EXTENSION Extension "Waiting in an extensi= on." =20 Section: ClassName - WaitEventLWLock =20 -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 dat= a structures (typically, to get a snapshot or report a session's transactio= n ID)." -WAIT_EVENT_DOCONLY SInvalRead "Waiting to retrieve messages from the share= d catalog invalidation queue." -WAIT_EVENT_DOCONLY SInvalWrite "Waiting to add a message to the shared cat= alog invalidation queue." -WAIT_EVENT_DOCONLY WALBufMapping "Waiting to replace a page in WAL buffers= =2E" -WAIT_EVENT_DOCONLY WALWrite "Waiting for WAL buffers to be written to disk= =2E" -WAIT_EVENT_DOCONLY ControlFile "Waiting to read or update the pg= _control file or create a new WAL file." -WAIT_EVENT_DOCONLY XactSLRU "Waiting to access the transaction status SLRU= cache." -WAIT_EVENT_DOCONLY SubtransSLRU "Waiting to access the sub-transaction SLR= U cache." -WAIT_EVENT_DOCONLY MultiXactGen "Waiting to read or update shared multixac= t state." -WAIT_EVENT_DOCONLY MultiXactOffsetSLRU "Waiting to access the multixact of= fset SLRU cache." -WAIT_EVENT_DOCONLY MultiXactMemberSLRU "Waiting to access the multixact me= mber SLRU cache." -WAIT_EVENT_DOCONLY RelCacheInit "Waiting to read or update a pg_= internal.init relation cache initialization file." -WAIT_EVENT_DOCONLY CheckpointerComm "Waiting to manage fsync requests." -WAIT_EVENT_DOCONLY TwoPhaseState "Waiting to read or update the state of p= repared transactions." -WAIT_EVENT_DOCONLY TablespaceCreate "Waiting to create or drop a tablespac= e." -WAIT_EVENT_DOCONLY BtreeVacuum "Waiting to read or update vacuum-related i= nformation 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 sele= cted for autovacuum still needs vacuuming." -WAIT_EVENT_DOCONLY SyncScan "Waiting to select the starting location of a = synchronized table scan." -WAIT_EVENT_DOCONLY RelationMapping "Waiting to read or update a = pg_filenode.map file (used to track the filenode assignments of = certain system catalogs)." -WAIT_EVENT_DOCONLY NotifySLRU "Waiting to access the NOTIFY message SLRU cache." -WAIT_EVENT_DOCONLY NotifyQueue "Waiting to read or update NOTIFY<= /command> messages." -WAIT_EVENT_DOCONLY SerializableXactHash "Waiting to read or update informa= tion 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 o= f predicate locks held by serializable transactions." -WAIT_EVENT_DOCONLY SerialSLRU "Waiting to access the serializable transact= ion conflict SLRU cache." -WAIT_EVENT_DOCONLY SyncRep "Waiting to read or update information about th= e 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 d= ynamic shared memory allocation information." -WAIT_EVENT_DOCONLY AutoFile "Waiting to update the postgresql.au= to.conf file." -WAIT_EVENT_DOCONLY ReplicationSlotAllocation "Waiting to allocate or free = a replication slot." -WAIT_EVENT_DOCONLY ReplicationSlotControl "Waiting to read or update repli= cation slot state." -WAIT_EVENT_DOCONLY CommitTsSLRU "Waiting to access the commit timestamp SL= RU 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 rep= lication origin." -WAIT_EVENT_DOCONLY MultiXactTruncation "Waiting to read or truncate multix= act information." -WAIT_EVENT_DOCONLY OldSnapshotTimeMap "Waiting to read or update old snaps= hot control information." -WAIT_EVENT_DOCONLY LogicalRepWorker "Waiting to read or update the state o= f logical replication workers." -WAIT_EVENT_DOCONLY XactTruncation "Waiting to execute pg_xact_st= atus or update the oldest transaction ID available to it." -WAIT_EVENT_DOCONLY WrapLimitsVacuum "Waiting to update limits on transacti= on id and multixact consumption." -WAIT_EVENT_DOCONLY NotifyQueueTail "Waiting to update limit on NO= TIFY message storage." +ShmemIndex "Waiting to find or allocate space in shared memory." +OidGen "Waiting to allocate a new OID." +XidGen "Waiting to allocate a new transaction ID." +ProcArray "Waiting to access the shared per-process data structures (typic= ally, to get a snapshot or report a session's transaction ID)." +SInvalRead "Waiting to retrieve messages from the shared catalog invalidat= ion queue." +SInvalWrite "Waiting to add a message to the shared catalog invalidation q= ueue." +WALBufMapping "Waiting to replace a page in WAL buffers." +WALWrite "Waiting for WAL buffers to be written to disk." +ControlFile "Waiting to read or update the pg_control= file or create a new WAL file." +XactSLRU "Waiting to access the transaction status SLRU cache." +SubtransSLRU "Waiting to access the sub-transaction SLRU cache." +MultiXactGen "Waiting to read or update shared multixact state." +MultiXactOffsetSLRU "Waiting to access the multixact offset SLRU cache." +MultiXactMemberSLRU "Waiting to access the multixact member SLRU cache." +RelCacheInit "Waiting to read or update a pg_internal.init relation cache initialization file." +CheckpointerComm "Waiting to manage fsync requests." +TwoPhaseState "Waiting to read or update the state of prepared transaction= s." +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 share= d memory." +Autovacuum "Waiting to read or update the current state of autovacuum work= ers." +AutovacuumSchedule "Waiting to ensure that a table selected for autovacuum= still needs vacuuming." +SyncScan "Waiting to select the starting location of a synchronized table = scan." +RelationMapping "Waiting to read or update a pg_filenode.map file (used to track the filenode assignments of certain system cata= logs)." +NotifySLRU "Waiting to access the NOTIFY message SLRU c= ache." +NotifyQueue "Waiting to read or update NOTIFY messages." +SerializableXactHash "Waiting to read or update information about serializ= able transactions." +SerializableFinishedList "Waiting to access the list of finished serializa= ble transactions." +SerializablePredicateList "Waiting to access the list of predicate locks h= eld by serializable transactions." +SerialSLRU "Waiting to access the serializable transaction conflict SLRU c= ache." +SyncRep "Waiting to read or update information about the state of synchron= ous replication." +BackgroundWorker "Waiting to read or update background worker state." +DynamicSharedMemoryControl "Waiting to read or update dynamic shared memor= y allocation information." +AutoFile "Waiting to update the postgresql.auto.conf = file." +ReplicationSlotAllocation "Waiting to allocate or free a replication slot." +ReplicationSlotControl "Waiting to read or update replication slot state." +CommitTsSLRU "Waiting to access the commit timestamp SLRU cache." +CommitTs "Waiting to read or update the last value set for a transaction c= ommit timestamp." +ReplicationOrigin "Waiting to create, drop or use a replication origin." +MultiXactTruncation "Waiting to read or truncate multixact information." +OldSnapshotTimeMap "Waiting to read or update old snapshot control informa= tion." +LogicalRepWorker "Waiting to read or update the state of logical replicati= on workers." +XactTruncation "Waiting to execute pg_xact_status or = update the oldest transaction ID available to it." +WrapLimitsVacuum "Waiting to update limits on transaction id and multixact= consumption." +NotifyQueueTail "Waiting to update limit on NOTIFY mess= age storage." =20 -WAIT_EVENT_DOCONLY XactBuffer "Waiting for I/O on a transaction status SLR= U buffer." -WAIT_EVENT_DOCONLY CommitTsBuffer "Waiting for I/O on a commit timestamp S= LRU buffer." -WAIT_EVENT_DOCONLY SubtransBuffer "Waiting for I/O on a sub-transaction SL= RU buffer." -WAIT_EVENT_DOCONLY MultiXactOffsetBuffer "Waiting for I/O on a multixact o= ffset SLRU buffer." -WAIT_EVENT_DOCONLY MultiXactMemberBuffer "Waiting for I/O on a multixact m= ember SLRU buffer." -WAIT_EVENT_DOCONLY NotifyBuffer "Waiting for I/O on a NOTIFY message SLRU buffer." -WAIT_EVENT_DOCONLY SerialBuffer "Waiting for I/O on a serializable transac= tion conflict SLRU buffer." -WAIT_EVENT_DOCONLY WALInsert "Waiting to insert WAL data into a memory buf= fer." -WAIT_EVENT_DOCONLY BufferContent "Waiting to access a data page in memory." -WAIT_EVENT_DOCONLY ReplicationOriginState "Waiting to read or update the p= rogress of one replication origin." -WAIT_EVENT_DOCONLY ReplicationSlotIO "Waiting for I/O on a replication slo= t." -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 abo= ut heavyweight locks." -WAIT_EVENT_DOCONLY PredicateLockManager "Waiting to access predicate lock = information used by serializable transactions." -WAIT_EVENT_DOCONLY ParallelHashJoin "Waiting to synchronize workers during= Parallel Hash Join plan execution." -WAIT_EVENT_DOCONLY ParallelQueryDSA "Waiting for parallel query dynamic sh= ared memory allocation." -WAIT_EVENT_DOCONLY PerSessionDSA "Waiting for parallel query dynamic share= d memory allocation." -WAIT_EVENT_DOCONLY PerSessionRecordType "Waiting to access a parallel quer= y's information about composite types." -WAIT_EVENT_DOCONLY PerSessionRecordTypmod "Waiting to access a parallel qu= ery's information about type modifiers that identify anonymous record types= =2E" -WAIT_EVENT_DOCONLY SharedTupleStore "Waiting to access a shared tuple stor= e 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 duri= ng Parallel Append plan execution." -WAIT_EVENT_DOCONLY PerXactPredicateList "Waiting to access the list of pre= dicate locks held by the current serializable transaction during a parallel= query." -WAIT_EVENT_DOCONLY PgStatsDSA "Waiting for stats dynamic shared memory all= ocator access." -WAIT_EVENT_DOCONLY PgStatsHash "Waiting for stats shared memory hash table= access." -WAIT_EVENT_DOCONLY PgStatsData "Waiting for shared memory stats data acces= s." -WAIT_EVENT_DOCONLY LogicalRepLauncherDSA "Waiting to access logical replic= ation launcher's dynamic shared memory allocator." -WAIT_EVENT_DOCONLY LogicalRepLauncherHash "Waiting to access logical repli= cation launcher's shared hash table." +XactBuffer "Waiting for I/O on a transaction status SLRU buffer." +CommitTsBuffer "Waiting for I/O on a commit timestamp SLRU buffer." +SubtransBuffer "Waiting for I/O on a sub-transaction SLRU buffer." +MultiXactOffsetBuffer "Waiting for I/O on a multixact offset SLRU buffer." +MultiXactMemberBuffer "Waiting for I/O on a multixact member SLRU buffer." +NotifyBuffer "Waiting for I/O on a NOTIFY message SLRU = buffer." +SerialBuffer "Waiting for I/O on a serializable transaction conflict SLRU = buffer." +WALInsert "Waiting to insert WAL data into a memory buffer." +BufferContent "Waiting to access a data page in memory." +ReplicationOriginState "Waiting to read or update the progress of one repl= ication origin." +ReplicationSlotIO "Waiting for I/O on a replication slot." +LockFastPath "Waiting to read or update a process' fast-path lock informat= ion." +BufferMapping "Waiting to associate a data block with a buffer in the buff= er pool." +LockManager "Waiting to read or update information about heavyweig= ht 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 allocat= ion." +PerSessionDSA "Waiting for parallel query dynamic shared memory allocation= =2E" +PerSessionRecordType "Waiting to access a parallel query's information abo= ut composite types." +PerSessionRecordTypmod "Waiting to access a parallel query's information a= bout type modifiers that identify anonymous record types." +SharedTupleStore "Waiting to access a shared tuple store during parallel q= uery." +SharedTidBitmap "Waiting to access a shared TID bitmap during a parallel b= itmap index scan." +ParallelAppend "Waiting to choose the next subplan during Parallel Append = plan execution." +PerXactPredicateList "Waiting to access the list of predicate locks held b= y 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 dy= namic shared memory allocator." +LogicalRepLauncherHash "Waiting to access logical replication launcher's s= hared hash table." =20 # # Wait even - Lock @@ -357,15 +358,15 @@ WAIT_EVENT_DOCONLY LogicalRepLauncherHash "Waiting to= access logical replication =20 Section: ClassName - WaitEventLock =20 -WAIT_EVENT_DOCONLY relation "Waiting to acquire a lock on a relation." -WAIT_EVENT_DOCONLY extend "Waiting to extend a relation." -WAIT_EVENT_DOCONLY frozenid "Waiting to update pg_database.datfrozenxid and pg_databa= se.datminmxid." -WAIT_EVENT_DOCONLY page "Waiting to acquire a lock on a page of a relation= =2E" -WAIT_EVENT_DOCONLY tuple "Waiting to acquire a lock on a tuple." -WAIT_EVENT_DOCONLY transactionid "Waiting for a transaction to finish." -WAIT_EVENT_DOCONLY virtualxid "Waiting to acquire a virtual transaction ID= lock; see ." -WAIT_EVENT_DOCONLY spectoken "Waiting to acquire a speculative insertion l= ock." -WAIT_EVENT_DOCONLY object "Waiting to acquire a lock on a non-relation dat= abase object." -WAIT_EVENT_DOCONLY userlock "Waiting to acquire a user lock." -WAIT_EVENT_DOCONLY advisory "Waiting to acquire an advisory user lock." -WAIT_EVENT_DOCONLY applytransaction "Waiting to acquire a lock on a remote= transaction being applied by a logical replication subscriber." +relation "Waiting to acquire a lock on a relation." +extend "Waiting to extend a relation." +frozenid "Waiting to update pg_database.datfrozenxid and pg_database.datminmxid." +page "Waiting to acquire a lock on a page of a relation." +tuple "Waiting to acquire a lock on a tuple." +transactionid "Waiting for a transaction to finish." +virtualxid "Waiting to acquire a virtual transaction ID lock; see ." +spectoken "Waiting to acquire a speculative insertion lock." +object "Waiting to acquire a lock on a non-relation database object." +userlock "Waiting to acquire a user lock." +advisory "Waiting to acquire an advisory user lock." +applytransaction "Waiting to acquire a lock on a remote transaction being = applied by a logical replication subscriber." --=20 2.40.1 --ei7iBo4F6T7PYpJr-- --mDCXkncTF9t9rTjM Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmSw09IACgkQnvQgOdby QH2s5g//ZsKjv64dtgCU459JMHjgTknMxhx9ehIZFWse9sGXW+D6PuJlr75Eddhm V4ieWAxM5cPYgw+Z0sSNZut1KyL4sFrpO6mM0pvPq0xkfQY4H3iX2q0XcZXE+3As IjxIRUrEquZyX5o4DOnJzQUnZVeWpm1x+htCbWTdvlckr/VfvjQ7sGVcbqMx4wk/ zHRBJTT2UNQJFZDana8Z8L/RjuDNRswUYVM0I2M5RfyXUfHrSc+zSnTwWYFvT7nI PwREQNirjwm8skjLC28Mrozq/8V9wntPPhsdf0GyIQ/GZ4MYUPISacIo8SAFGM3Y LyXwvAyCUevf5KzKIHkFfKccBjegMw75lzn+359vvjepjtaB9usTr0TOouI/zfoD rEpkwFiCnef48MmNvrUzJCPOSjkLLvFU1vaahWBuHJnxo3x6/XBmzu6sQrRc/SJY Kwe0Pu7rrfV28iDJXlxLMAy6jsaEwNROQ0esRD7H0ci0Fpkh1Vl/4gV2mWj/BP4u 6Uvvk0nmtJUHqeHVX1pujPLQ5CpRjKQPBg4DyrsG0dj06XSqpTf5V3vr49tmei7B GLRahjYwFnmqO01Se1N22Clbv7Rjme1nQQ/IyEoU5MBb8YqRzcwcjlmbSKOEYyVo ZdyytYJiBXBK9AZbVnktVsdRY8sLWP8rDFkQ+Ux/enqZ4RP5bB8= =jqtb -----END PGP SIGNATURE----- --mDCXkncTF9t9rTjM--