diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 579ccd3..57d6716 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -909,912 +909,1794 @@ postgres   27093  0.0  0.0  30096  2752 ?        Ss   11:34   0:00 postgres: ser
 
   <table id="wait-event-table">
    <title><structname>wait_event</structname> Description</title>
+    <tgroup cols="1">
+     <thead>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        Wait Event Type / Wait Event Name
+       </para>
+       <para>
+        Description
+       </para></entry>
+      </row>
+     </thead>
 
-    <tgroup cols="3">
-      <thead>
-       <row>
-        <entry>Wait Event Type</entry>
-        <entry>Wait Event Name</entry>
-        <entry>Description</entry>
-       </row>
-      </thead>
-
-      <tbody>
-       <row>
-        <entry morerows="64"><literal>LWLock</literal></entry>
-        <entry><literal>ShmemIndexLock</literal></entry>
-        <entry>Waiting to find or allocate space in shared memory.</entry>
-       </row>
-       <row>
-        <entry><literal>OidGenLock</literal></entry>
-        <entry>Waiting to allocate or assign an OID.</entry>
-       </row>
-        <row>
-         <entry><literal>XidGenLock</literal></entry>
-         <entry>Waiting to allocate or assign a transaction id.</entry>
-        </row>
-        <row>
-         <entry><literal>ProcArrayLock</literal></entry>
-         <entry>Waiting to get a snapshot or clearing a transaction id at
-         transaction end.</entry>
-        </row>
-        <row>
-         <entry><literal>SInvalReadLock</literal></entry>
-         <entry>Waiting to retrieve or remove messages from shared invalidation
-         queue.</entry>
-        </row>
-        <row>
-         <entry><literal>SInvalWriteLock</literal></entry>
-         <entry>Waiting to add a message in shared invalidation queue.</entry>
-        </row>
-        <row>
-         <entry><literal>WALBufMappingLock</literal></entry>
-         <entry>Waiting to replace a page in WAL buffers.</entry>
-        </row>
-        <row>
-         <entry><literal>WALWriteLock</literal></entry>
-         <entry>Waiting for WAL buffers to be written to disk.</entry>
-        </row>
-        <row>
-         <entry><literal>ControlFileLock</literal></entry>
-         <entry>Waiting to read or update the control file or creation of a
-         new WAL file.</entry>
-        </row>
-        <row>
-         <entry><literal>CheckpointLock</literal></entry>
-         <entry>Waiting to perform checkpoint.</entry>
-        </row>
-        <row>
-         <entry><literal>CLogControlLock</literal></entry>
-         <entry>Waiting to read or update transaction status.</entry>
-        </row>
-        <row>
-         <entry><literal>SubtransControlLock</literal></entry>
-         <entry>Waiting to read or update sub-transaction information.</entry>
-        </row>
-        <row>
-         <entry><literal>MultiXactGenLock</literal></entry>
-         <entry>Waiting to read or update shared multixact state.</entry>
-        </row>
-        <row>
-         <entry><literal>MultiXactOffsetControlLock</literal></entry>
-         <entry>Waiting to read or update multixact offset mappings.</entry>
-        </row>
-        <row>
-         <entry><literal>MultiXactMemberControlLock</literal></entry>
-         <entry>Waiting to read or update multixact member mappings.</entry>
-        </row>
-        <row>
-         <entry><literal>RelCacheInitLock</literal></entry>
-         <entry>Waiting to read or write relation cache initialization
-         file.</entry>
-        </row>
-        <row>
-         <entry><literal>CheckpointerCommLock</literal></entry>
-         <entry>Waiting to manage fsync requests.</entry>
-        </row>
-        <row>
-         <entry><literal>TwoPhaseStateLock</literal></entry>
-         <entry>Waiting to read or update the state of prepared transactions.</entry>
-        </row>
-        <row>
-         <entry><literal>TablespaceCreateLock</literal></entry>
-         <entry>Waiting to create or drop the tablespace.</entry>
-        </row>
-        <row>
-         <entry><literal>BtreeVacuumLock</literal></entry>
-          <entry>Waiting to read or update vacuum-related information for a
-          B-tree index.</entry>
-        </row>
-        <row>
-         <entry><literal>AddinShmemInitLock</literal></entry>
-         <entry>Waiting to manage space allocation in shared memory.</entry>
-        </row>
-        <row>
-         <entry><literal>AutovacuumLock</literal></entry>
-         <entry>Autovacuum worker or launcher waiting to update or
-         read the current state of autovacuum workers.</entry>
-        </row>
-        <row>
-         <entry><literal>AutovacuumScheduleLock</literal></entry>
-         <entry>Waiting to ensure that the table it has selected for a vacuum
-         still needs vacuuming.
-         </entry>
-        </row>
-        <row>
-         <entry><literal>SyncScanLock</literal></entry>
-         <entry>Waiting to get the start location of a scan on a table for
-         synchronized scans.</entry>
-        </row>
-        <row>
-         <entry><literal>RelationMappingLock</literal></entry>
-         <entry>Waiting to update the relation map file used to store catalog
-         to filenode mapping.
-         </entry>
-        </row>
-        <row>
-         <entry><literal>AsyncCtlLock</literal></entry>
-         <entry>Waiting to read or update shared notification state.</entry>
-        </row>
-        <row>
-         <entry><literal>AsyncQueueLock</literal></entry>
-          <entry>Waiting to read or update notification messages.</entry>
-        </row>
-        <row>
-         <entry><literal>SerializableXactHashLock</literal></entry>
-         <entry>Waiting to retrieve or store information about serializable
-         transactions.</entry>
-        </row>
-        <row>
-         <entry><literal>SerializableFinishedListLock</literal></entry>
-         <entry>Waiting to access the list of finished serializable
-         transactions.</entry>
-        </row>
-        <row>
-         <entry><literal>SerializablePredicateLockListLock</literal></entry>
-         <entry>Waiting to perform an operation on a list of locks held by
-         serializable transactions.</entry>
-        </row>
-        <row>
-         <entry><literal>OldSerXidLock</literal></entry>
-         <entry>Waiting to read or record conflicting serializable
-         transactions.</entry>
-        </row>
-        <row>
-         <entry><literal>SyncRepLock</literal></entry>
-         <entry>Waiting to read or update information about synchronous
-         replicas.</entry>
-        </row>
-        <row>
-         <entry><literal>BackgroundWorkerLock</literal></entry>
-         <entry>Waiting to read or update background worker state.</entry>
-        </row>
-        <row>
-         <entry><literal>DynamicSharedMemoryControlLock</literal></entry>
-         <entry>Waiting to read or update dynamic shared memory state.</entry>
-        </row>
-        <row>
-         <entry><literal>AutoFileLock</literal></entry>
-         <entry>Waiting to update the <filename>postgresql.auto.conf</filename> file.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationSlotAllocationLock</literal></entry>
-         <entry>Waiting to allocate or free a replication slot.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationSlotControlLock</literal></entry>
-         <entry>Waiting to read or update replication slot state.</entry>
-        </row>
-        <row>
-         <entry><literal>CommitTsControlLock</literal></entry>
-         <entry>Waiting to read or update transaction commit timestamps.</entry>
-        </row>
-        <row>
-         <entry><literal>CommitTsLock</literal></entry>
-         <entry>Waiting to read or update the last value set for the
-         transaction timestamp.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationOriginLock</literal></entry>
-         <entry>Waiting to setup, drop or use replication origin.</entry>
-        </row>
-        <row>
-         <entry><literal>MultiXactTruncationLock</literal></entry>
-         <entry>Waiting to read or truncate multixact information.</entry>
-        </row>
-        <row>
-         <entry><literal>OldSnapshotTimeMapLock</literal></entry>
-         <entry>Waiting to read or update old snapshot control information.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalRepWorkerLock</literal></entry>
-         <entry>Waiting for action on logical replication worker to finish.</entry>
-        </row>
-        <row>
-         <entry><literal>CLogTruncationLock</literal></entry>
-         <entry>Waiting to execute <function>pg_xact_status</function> or update
-         the oldest transaction id available to it.</entry>
-        </row>
-        <row>
-         <entry><literal>clog</literal></entry>
-         <entry>Waiting for I/O on a clog (transaction status) buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>commit_timestamp</literal></entry>
-         <entry>Waiting for I/O on commit timestamp buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>subtrans</literal></entry>
-         <entry>Waiting for I/O a subtransaction buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>multixact_offset</literal></entry>
-         <entry>Waiting for I/O on a multixact offset buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>multixact_member</literal></entry>
-         <entry>Waiting for I/O on a multixact_member buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>async</literal></entry>
-         <entry>Waiting for I/O on an async (notify) buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>oldserxid</literal></entry>
-         <entry>Waiting for I/O on an oldserxid buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>wal_insert</literal></entry>
-         <entry>Waiting to insert WAL into a memory buffer.</entry>
-        </row>
-        <row>
-         <entry><literal>buffer_content</literal></entry>
-         <entry>Waiting to read or write a data page in memory.</entry>
-        </row>
-        <row>
-         <entry><literal>buffer_io</literal></entry>
-         <entry>Waiting for I/O on a data page.</entry>
-        </row>
-        <row>
-         <entry><literal>replication_origin</literal></entry>
-         <entry>Waiting to read or update the replication progress.</entry>
-        </row>
-        <row>
-         <entry><literal>replication_slot_io</literal></entry>
-         <entry>Waiting for I/O on a replication slot.</entry>
-        </row>
-        <row>
-         <entry><literal>proc</literal></entry>
-         <entry>Waiting to read or update the fast-path lock information.</entry>
-        </row>
-        <row>
-         <entry><literal>buffer_mapping</literal></entry>
-         <entry>Waiting to associate a data block with a buffer in the buffer
-         pool.</entry>
-        </row>
-        <row>
-         <entry><literal>lock_manager</literal></entry>
-         <entry>Waiting to add or examine locks for backends, or waiting to
-         join or exit a locking group (used by parallel query).</entry>
-        </row>
-        <row>
-         <entry><literal>predicate_lock_manager</literal></entry>
-         <entry>Waiting to add or examine predicate lock information.</entry>
-        </row>
-        <row>
-         <entry><literal>serializable_xact</literal></entry>
-         <entry>Waiting to perform an operation on a serializable transaction
-         in a parallel query.</entry>
-        </row>
-        <row>
-         <entry><literal>parallel_query_dsa</literal></entry>
-         <entry>Waiting for parallel query dynamic shared memory allocation lock.</entry>
-        </row>
-        <row>
-         <entry><literal>tbm</literal></entry>
-         <entry>Waiting for TBM shared iterator lock.</entry>
-        </row>
-        <row>
-         <entry><literal>parallel_append</literal></entry>
-         <entry>Waiting to choose the next subplan during Parallel Append plan
-         execution.</entry>
-        </row>
-        <row>
-         <entry><literal>parallel_hash_join</literal></entry>
-         <entry>Waiting to allocate or exchange a chunk of memory or update
-         counters during Parallel Hash plan execution.</entry>
-        </row>
-        <row>
-         <entry morerows="9"><literal>Lock</literal></entry>
-         <entry><literal>relation</literal></entry>
-         <entry>Waiting to acquire a lock on a relation.</entry>
-        </row>
-        <row>
-         <entry><literal>extend</literal></entry>
-         <entry>Waiting to extend a relation.</entry>
-        </row>
-        <row>
-         <entry><literal>page</literal></entry>
-         <entry>Waiting to acquire a lock on page of a relation.</entry>
-        </row>
-        <row>
-         <entry><literal>tuple</literal></entry>
-         <entry>Waiting to acquire a lock on a tuple.</entry>
-        </row>
-        <row>
-         <entry><literal>transactionid</literal></entry>
-         <entry>Waiting for a transaction to finish.</entry>
-        </row>
-        <row>
-         <entry><literal>virtualxid</literal></entry>
-         <entry>Waiting to acquire a virtual xid lock.</entry>
-        </row>
-        <row>
-         <entry><literal>speculative token</literal></entry>
-         <entry>Waiting to acquire a speculative insertion lock.</entry>
-        </row>
-        <row>
-         <entry><literal>object</literal></entry>
-         <entry>Waiting to acquire a lock on a non-relation database object.</entry>
-        </row>
-        <row>
-         <entry><literal>userlock</literal></entry>
-         <entry>Waiting to acquire a user lock.</entry>
-        </row>
-        <row>
-         <entry><literal>advisory</literal></entry>
-         <entry>Waiting to acquire an advisory user lock.</entry>
-        </row>
-        <row>
-         <entry><literal>BufferPin</literal></entry>
-         <entry><literal>BufferPin</literal></entry>
-         <entry>Waiting to acquire a pin on a buffer.</entry>
-        </row>
-        <row>
-         <entry morerows="12"><literal>Activity</literal></entry>
-         <entry><literal>ArchiverMain</literal></entry>
-         <entry>Waiting in main loop of the archiver process.</entry>
-        </row>
-        <row>
-         <entry><literal>AutoVacuumMain</literal></entry>
-         <entry>Waiting in main loop of autovacuum launcher process.</entry>
-        </row>
-        <row>
-         <entry><literal>BgWriterHibernate</literal></entry>
-         <entry>Waiting in background writer process, hibernating.</entry>
-        </row>
-        <row>
-         <entry><literal>BgWriterMain</literal></entry>
-         <entry>Waiting in main loop of background writer process background worker.</entry>
-        </row>
-        <row>
-         <entry><literal>CheckpointerMain</literal></entry>
-         <entry>Waiting in main loop of checkpointer process.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalApplyMain</literal></entry>
-         <entry>Waiting in main loop of logical apply process.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalLauncherMain</literal></entry>
-         <entry>Waiting in main loop of logical launcher process.</entry>
-        </row>
-        <row>
-         <entry><literal>PgStatMain</literal></entry>
-         <entry>Waiting in main loop of the statistics collector process.</entry>
-        </row>
-        <row>
-         <entry><literal>RecoveryWalStream</literal></entry>
-         <entry>Waiting for WAL from a stream at recovery.</entry>
-        </row>
-        <row>
-         <entry><literal>SysLoggerMain</literal></entry>
-         <entry>Waiting in main loop of syslogger process.</entry>
-        </row>
-        <row>
-         <entry><literal>WalReceiverMain</literal></entry>
-         <entry>Waiting in main loop of WAL receiver process.</entry>
-        </row>
-        <row>
-         <entry><literal>WalSenderMain</literal></entry>
-         <entry>Waiting in main loop of WAL sender process.</entry>
-        </row>
-        <row>
-         <entry><literal>WalWriterMain</literal></entry>
-         <entry>Waiting in main loop of WAL writer process.</entry>
-        </row>
-        <row>
-         <entry morerows="8"><literal>Client</literal></entry>
-         <entry><literal>ClientRead</literal></entry>
-         <entry>Waiting to read data from the client.</entry>
-        </row>
-        <row>
-         <entry><literal>ClientWrite</literal></entry>
-         <entry>Waiting to write data to the client.</entry>
-        </row>
-        <row>
-         <entry><literal>GSSOpenServer</literal></entry>
-         <entry>Waiting to read data from the client while establishing the GSSAPI session.</entry>
-        </row>
-        <row>
-         <entry><literal>LibPQWalReceiverConnect</literal></entry>
-         <entry>Waiting in WAL receiver to establish connection to remote server.</entry>
-        </row>
-        <row>
-         <entry><literal>LibPQWalReceiverReceive</literal></entry>
-         <entry>Waiting in WAL receiver to receive data from remote server.</entry>
-        </row>
-        <row>
-         <entry><literal>SSLOpenServer</literal></entry>
-         <entry>Waiting for SSL while attempting connection.</entry>
-        </row>
-        <row>
-         <entry><literal>WalReceiverWaitStart</literal></entry>
-         <entry>Waiting for startup process to send initial data for streaming replication.</entry>
-        </row>
-        <row>
-         <entry><literal>WalSenderWaitForWAL</literal></entry>
-         <entry>Waiting for WAL to be flushed in WAL sender process.</entry>
-        </row>
-        <row>
-         <entry><literal>WalSenderWriteData</literal></entry>
-         <entry>Waiting for any activity when processing replies from WAL receiver in WAL sender process.</entry>
-        </row>
-        <row>
-         <entry><literal>Extension</literal></entry>
-         <entry><literal>Extension</literal></entry>
-         <entry>Waiting in an extension.</entry>
-        </row>
-        <row>
-         <entry morerows="40"><literal>IPC</literal></entry>
-         <entry><literal>BackupWaitWalArchive</literal></entry>
-         <entry>Waiting for WAL files required for the backup to be successfully archived.</entry>
-        </row>
-        <row>
-         <entry><literal>BgWorkerShutdown</literal></entry>
-         <entry>Waiting for background worker to shut down.</entry>
-        </row>
-        <row>
-         <entry><literal>BgWorkerStartup</literal></entry>
-         <entry>Waiting for background worker to start up.</entry>
-        </row>
-        <row>
-         <entry><literal>BtreePage</literal></entry>
-         <entry>Waiting for the page number needed to continue a parallel B-tree scan to become available.</entry>
-        </row>
-        <row>
-         <entry><literal>CheckpointDone</literal></entry>
-         <entry>Waiting for a checkpoint to complete.</entry>
-        </row>
-        <row>
-         <entry><literal>CheckpointStart</literal></entry>
-         <entry>Waiting for a checkpoint to start.</entry>
-        </row>
-        <row>
-         <entry><literal>ClogGroupUpdate</literal></entry>
-         <entry>Waiting for group leader to update transaction status at transaction end.</entry>
-        </row>
-        <row>
-         <entry><literal>ExecuteGather</literal></entry>
-         <entry>Waiting for activity from child process when executing <literal>Gather</literal> node.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/Batch/Allocating</literal></entry>
-          <entry>Waiting for an elected Parallel Hash participant to allocate a hash table.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/Batch/Electing</literal></entry>
-          <entry>Electing a Parallel Hash participant to allocate a hash table.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/Batch/Loading</literal></entry>
-          <entry>Waiting for other Parallel Hash participants to finish loading a hash table.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/Build/Allocating</literal></entry>
-          <entry>Waiting for an elected Parallel Hash participant to allocate the initial hash table.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/Build/Electing</literal></entry>
-          <entry>Electing a Parallel Hash participant to allocate the initial hash table.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/Build/HashingInner</literal></entry>
-          <entry>Waiting for other Parallel Hash participants to finish hashing the inner relation.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/Build/HashingOuter</literal></entry>
-          <entry>Waiting for other Parallel Hash participants to finish partitioning the outer relation.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBatches/Allocating</literal></entry>
-          <entry>Waiting for an elected Parallel Hash participant to allocate more batches.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBatches/Deciding</literal></entry>
-          <entry>Electing a Parallel Hash participant to decide on future batch growth.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBatches/Electing</literal></entry>
-          <entry>Electing a Parallel Hash participant to allocate more batches.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBatches/Finishing</literal></entry>
-          <entry>Waiting for an elected Parallel Hash participant to decide on future batch growth.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBatches/Repartitioning</literal></entry>
-          <entry>Waiting for other Parallel Hash participants to finishing repartitioning.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBuckets/Allocating</literal></entry>
-          <entry>Waiting for an elected Parallel Hash participant to finish allocating more buckets.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBuckets/Electing</literal></entry>
-          <entry>Electing a Parallel Hash participant to allocate more buckets.</entry>
-        </row>
-        <row>
-          <entry><literal>Hash/GrowBuckets/Reinserting</literal></entry>
-          <entry>Waiting for other Parallel Hash participants to finish inserting tuples into new buckets.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalSyncData</literal></entry>
-         <entry>Waiting for logical replication remote server to send data for initial table synchronization.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalSyncStateChange</literal></entry>
-         <entry>Waiting for logical replication remote server to change state.</entry>
-        </row>
-        <row>
-         <entry><literal>MessageQueueInternal</literal></entry>
-         <entry>Waiting for other process to be attached in shared message queue.</entry>
-        </row>
-        <row>
-         <entry><literal>MessageQueuePutMessage</literal></entry>
-         <entry>Waiting to write a protocol message to a shared message queue.</entry>
-        </row>
-        <row>
-         <entry><literal>MessageQueueReceive</literal></entry>
-         <entry>Waiting to receive bytes from a shared message queue.</entry>
-        </row>
-        <row>
-         <entry><literal>MessageQueueSend</literal></entry>
-         <entry>Waiting to send bytes to a shared message queue.</entry>
-        </row>
-        <row>
-         <entry><literal>ParallelBitmapScan</literal></entry>
-         <entry>Waiting for parallel bitmap scan to become initialized.</entry>
-        </row>
-        <row>
-         <entry><literal>ParallelCreateIndexScan</literal></entry>
-         <entry>Waiting for parallel <command>CREATE INDEX</command> workers to finish heap scan.</entry>
-        </row>
-        <row>
-         <entry><literal>ParallelFinish</literal></entry>
-         <entry>Waiting for parallel workers to finish computing.</entry>
-        </row>
-        <row>
-         <entry><literal>ProcArrayGroupUpdate</literal></entry>
-         <entry>Waiting for group leader to clear transaction id at transaction end.</entry>
-        </row>
-        <row>
-         <entry><literal>Promote</literal></entry>
-         <entry>Waiting for standby promotion.</entry>
-        </row>
-        <row>
-         <entry><literal>RecoveryConflictSnapshot</literal></entry>
-         <entry>Waiting for recovery conflict resolution on a vacuum cleanup.</entry>
-        </row>
-        <row>
-         <entry><literal>RecoveryConflictTablespace</literal></entry>
-         <entry>Waiting for recovery conflict resolution on dropping tablespace.</entry>
-        </row>
-        <row>
-         <entry><literal>RecoveryPause</literal></entry>
-         <entry>Waiting for recovery to be resumed.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationOriginDrop</literal></entry>
-         <entry>Waiting for a replication origin to become inactive to be dropped.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationSlotDrop</literal></entry>
-         <entry>Waiting for a replication slot to become inactive to be dropped.</entry>
-        </row>
-        <row>
-         <entry><literal>SafeSnapshot</literal></entry>
-         <entry>Waiting for a snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction.</entry>
-        </row>
-        <row>
-         <entry><literal>SyncRep</literal></entry>
-         <entry>Waiting for confirmation from remote server during synchronous replication.</entry>
-        </row>
-        <row>
-         <entry morerows="4"><literal>Timeout</literal></entry>
-         <entry><literal>BaseBackupThrottle</literal></entry>
-         <entry>Waiting during base backup when throttling activity.</entry>
-        </row>
-        <row>
-         <entry><literal>PgSleep</literal></entry>
-         <entry>Waiting in process that called <function>pg_sleep</function>.</entry>
-        </row>
-        <row>
-         <entry><literal>RecoveryApplyDelay</literal></entry>
-         <entry>Waiting to apply WAL at recovery because it is delayed.</entry>
-        </row>
-        <row>
-         <entry><literal>RecoveryRetrieveRetryInterval</literal></entry>
-         <entry>
-          Waiting when WAL data is not available from any kind of sources
-          (<filename>pg_wal</filename>, archive or stream) before trying
-          again to retrieve WAL data, at recovery.
-         </entry>
-        </row>
-        <row>
-         <entry><literal>VacuumDelay</literal></entry>
-         <entry>Waiting in a cost-based vacuum delay point.</entry>
-        </row>
-        <row>
-         <entry morerows="68"><literal>IO</literal></entry>
-         <entry><literal>BufFileRead</literal></entry>
-         <entry>Waiting for a read from a buffered file.</entry>
-        </row>
-        <row>
-         <entry><literal>BufFileWrite</literal></entry>
-         <entry>Waiting for a write to a buffered file.</entry>
-        </row>
-        <row>
-         <entry><literal>ControlFileRead</literal></entry>
-         <entry>Waiting for a read from the control file.</entry>
-        </row>
-        <row>
-         <entry><literal>ControlFileSync</literal></entry>
-         <entry>Waiting for the control file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>ControlFileSyncUpdate</literal></entry>
-         <entry>Waiting for an update to the control file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>ControlFileWrite</literal></entry>
-         <entry>Waiting for a write to the control file.</entry>
-        </row>
-        <row>
-         <entry><literal>ControlFileWriteUpdate</literal></entry>
-         <entry>Waiting for a write to update the control file.</entry>
-        </row>
-        <row>
-         <entry><literal>CopyFileRead</literal></entry>
-         <entry>Waiting for a read during a file copy operation.</entry>
-        </row>
-        <row>
-         <entry><literal>CopyFileWrite</literal></entry>
-         <entry>Waiting for a write during a file copy operation.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFileExtend</literal></entry>
-         <entry>Waiting for a relation data file to be extended.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFileFlush</literal></entry>
-         <entry>Waiting for a relation data file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFileImmediateSync</literal></entry>
-         <entry>Waiting for an immediate synchronization of a relation data file to stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFilePrefetch</literal></entry>
-         <entry>Waiting for an asynchronous prefetch from a relation data file.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFileRead</literal></entry>
-         <entry>Waiting for a read from a relation data file.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFileSync</literal></entry>
-         <entry>Waiting for changes to a relation data file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFileTruncate</literal></entry>
-         <entry>Waiting for a relation data file to be truncated.</entry>
-        </row>
-        <row>
-         <entry><literal>DataFileWrite</literal></entry>
-         <entry>Waiting for a write to a relation data file.</entry>
-        </row>
-        <row>
-         <entry><literal>DSMFillZeroWrite</literal></entry>
-         <entry>Waiting to write zero bytes to a dynamic shared memory backing file.</entry>
-        </row>
-        <row>
-         <entry><literal>LockFileAddToDataDirRead</literal></entry>
-         <entry>Waiting for a read while adding a line to the data directory lock file.</entry>
-        </row>
-        <row>
-         <entry><literal>LockFileAddToDataDirSync</literal></entry>
-         <entry>Waiting for data to reach stable storage while adding a line to the data directory lock file.</entry>
-        </row>
-        <row>
-         <entry><literal>LockFileAddToDataDirWrite</literal></entry>
-         <entry>Waiting for a write while adding a line to the data directory lock file.</entry>
-        </row>
-        <row>
-         <entry><literal>LockFileCreateRead</literal></entry>
-         <entry>Waiting to read while creating the data directory lock file.</entry>
-        </row>
-        <row>
-         <entry><literal>LockFileCreateSync</literal></entry>
-         <entry>Waiting for data to reach stable storage while creating the data directory lock file.</entry>
-        </row>
-        <row>
-         <entry><literal>LockFileCreateWrite</literal></entry>
-         <entry>Waiting for a write while creating the data directory lock file.</entry>
-        </row>
-        <row>
-         <entry><literal>LockFileReCheckDataDirRead</literal></entry>
-         <entry>Waiting for a read during recheck of the data directory lock file.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalRewriteCheckpointSync</literal></entry>
-         <entry>Waiting for logical rewrite mappings to reach stable storage during a checkpoint.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalRewriteMappingSync</literal></entry>
-         <entry>Waiting for mapping data to reach stable storage during a logical rewrite.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalRewriteMappingWrite</literal></entry>
-         <entry>Waiting for a write of mapping data during a logical rewrite.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalRewriteSync</literal></entry>
-         <entry>Waiting for logical rewrite mappings to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalRewriteTruncate</literal></entry>
-         <entry>Waiting for truncate of mapping data during a logical rewrite.</entry>
-        </row>
-        <row>
-         <entry><literal>LogicalRewriteWrite</literal></entry>
-         <entry>Waiting for a write of logical rewrite mappings.</entry>
-        </row>
-        <row>
-         <entry><literal>ProcSignalBarrier</literal></entry>
-         <entry>Waiting for a barrier event to be processed by all backends.</entry>
-        </row>
-        <row>
-         <entry><literal>RelationMapRead</literal></entry>
-         <entry>Waiting for a read of the relation map file.</entry>
-        </row>
-        <row>
-         <entry><literal>RelationMapSync</literal></entry>
-         <entry>Waiting for the relation map file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>RelationMapWrite</literal></entry>
-         <entry>Waiting for a write to the relation map file.</entry>
-        </row>
-        <row>
-         <entry><literal>ReorderBufferRead</literal></entry>
-         <entry>Waiting for a read during reorder buffer management.</entry>
-        </row>
-        <row>
-         <entry><literal>ReorderBufferWrite</literal></entry>
-         <entry>Waiting for a write during reorder buffer management.</entry>
-        </row>
-        <row>
-         <entry><literal>ReorderLogicalMappingRead</literal></entry>
-         <entry>Waiting for a read of a logical mapping during reorder buffer management.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationSlotRead</literal></entry>
-         <entry>Waiting for a read from a replication slot control file.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationSlotRestoreSync</literal></entry>
-         <entry>Waiting for a replication slot control file to reach stable storage while restoring it to memory.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationSlotSync</literal></entry>
-         <entry>Waiting for a replication slot control file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>ReplicationSlotWrite</literal></entry>
-         <entry>Waiting for a write to a replication slot control file.</entry>
-        </row>
-        <row>
-         <entry><literal>SLRUFlushSync</literal></entry>
-         <entry>Waiting for SLRU data to reach stable storage during a checkpoint or database shutdown.</entry>
-        </row>
-        <row>
-         <entry><literal>SLRURead</literal></entry>
-         <entry>Waiting for a read of an SLRU page.</entry>
-        </row>
-        <row>
-         <entry><literal>SLRUSync</literal></entry>
-         <entry>Waiting for SLRU data to reach stable storage following a page write.</entry>
-        </row>
-        <row>
-         <entry><literal>SLRUWrite</literal></entry>
-         <entry>Waiting for a write of an SLRU page.</entry>
-        </row>
-        <row>
-         <entry><literal>SnapbuildRead</literal></entry>
-         <entry>Waiting for a read of a serialized historical catalog snapshot.</entry>
-        </row>
-        <row>
-         <entry><literal>SnapbuildSync</literal></entry>
-         <entry>Waiting for a serialized historical catalog snapshot to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>SnapbuildWrite</literal></entry>
-         <entry>Waiting for a write of a serialized historical catalog snapshot.</entry>
-        </row>
-        <row>
-         <entry><literal>TimelineHistoryFileSync</literal></entry>
-         <entry>Waiting for a timeline history file received via streaming replication to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>TimelineHistoryFileWrite</literal></entry>
-         <entry>Waiting for a write of a timeline history file received via streaming replication.</entry>
-        </row>
-        <row>
-         <entry><literal>TimelineHistoryRead</literal></entry>
-         <entry>Waiting for a read of a timeline history file.</entry>
-        </row>
-        <row>
-         <entry><literal>TimelineHistorySync</literal></entry>
-         <entry>Waiting for a newly created timeline history file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>TimelineHistoryWrite</literal></entry>
-         <entry>Waiting for a write of a newly created timeline history file.</entry>
-        </row>
-        <row>
-         <entry><literal>TwophaseFileRead</literal></entry>
-         <entry>Waiting for a read of a two phase state file.</entry>
-        </row>
-        <row>
-         <entry><literal>TwophaseFileSync</literal></entry>
-         <entry>Waiting for a two phase state file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>TwophaseFileWrite</literal></entry>
-         <entry>Waiting for a write of a two phase state file.</entry>
-        </row>
-        <row>
-         <entry><literal>WALBootstrapSync</literal></entry>
-         <entry>Waiting for WAL to reach stable storage during bootstrapping.</entry>
-        </row>
-        <row>
-         <entry><literal>WALBootstrapWrite</literal></entry>
-         <entry>Waiting for a write of a WAL page during bootstrapping.</entry>
-        </row>
-        <row>
-         <entry><literal>WALCopyRead</literal></entry>
-         <entry>Waiting for a read when creating a new WAL segment by copying an existing one.</entry>
-        </row>
-        <row>
-         <entry><literal>WALCopySync</literal></entry>
-         <entry>Waiting a new WAL segment created by copying an existing one to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>WALCopyWrite</literal></entry>
-         <entry>Waiting for a write when creating a new WAL segment by copying an existing one.</entry>
-        </row>
-        <row>
-         <entry><literal>WALInitSync</literal></entry>
-         <entry>Waiting for a newly initialized WAL file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>WALInitWrite</literal></entry>
-         <entry>Waiting for a write while initializing a new WAL file.</entry>
-        </row>
-        <row>
-         <entry><literal>WALRead</literal></entry>
-         <entry>Waiting for a read from a WAL file.</entry>
-        </row>
-        <row>
-         <entry><literal>WALSenderTimelineHistoryRead</literal></entry>
-         <entry>Waiting for a read from a timeline history file during walsender timeline command.</entry>
-        </row>
-        <row>
-         <entry><literal>WALSync</literal></entry>
-         <entry>Waiting for a WAL file to reach stable storage.</entry>
-        </row>
-        <row>
-         <entry><literal>WALSyncMethodAssign</literal></entry>
-         <entry>Waiting for data to reach stable storage while assigning WAL sync method.</entry>
-        </row>
-        <row>
-         <entry><literal>WALWrite</literal></entry>
-         <entry>Waiting for a write to a WAL file.</entry>
-        </row>
-      </tbody>
-     </tgroup>
-    </table>
+     <tbody>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>ShmemIndexLock</literal>
+       </para>
+       <para>
+        Waiting to find or allocate space in shared memory.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>OidGenLock</literal>
+       </para>
+       <para>
+        Waiting to allocate or assign an OID.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>XidGenLock</literal>
+       </para>
+       <para>
+        Waiting to allocate or assign a transaction id.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>ProcArrayLock</literal>
+       </para>
+       <para>
+        Waiting to get a snapshot or clearing a transaction id at
+        transaction end.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SInvalReadLock</literal>
+       </para>
+       <para>
+        Waiting to retrieve or remove messages from shared invalidation
+        queue.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SInvalWriteLock</literal>
+       </para>
+       <para>
+        Waiting to add a message in shared invalidation queue.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>WALBufMappingLock</literal>
+       </para>
+       <para>
+        Waiting to replace a page in WAL buffers.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>WALWriteLock</literal>
+       </para>
+       <para>
+        Waiting for WAL buffers to be written to disk.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>ControlFileLock</literal>
+       </para>
+       <para>
+        Waiting to read or update the control file or creation of a
+        new WAL file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>CheckpointLock</literal>
+       </para>
+       <para>
+        Waiting to perform checkpoint.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>CLogControlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update transaction status.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SubtransControlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update sub-transaction information.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>MultiXactGenLock</literal>
+       </para>
+       <para>
+        Waiting to read or update shared multixact state.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>MultiXactOffsetControlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update multixact offset mappings.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>MultiXactMemberControlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update multixact member mappings.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>RelCacheInitLock</literal>
+       </para>
+       <para>
+        Waiting to read or write relation cache initialization file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>CheckpointerCommLock</literal>
+       </para>
+       <para>
+        Waiting to manage fsync requests.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>TwoPhaseStateLock</literal>
+       </para>
+       <para>
+        Waiting to read or update the state of prepared transactions.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>TablespaceCreateLock</literal>
+       </para>
+       <para>
+        Waiting to create or drop the tablespace.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>BtreeVacuumLock</literal>
+       </para>
+       <para>
+        Waiting to read or update vacuum-related information for a
+        B-tree index.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>AddinShmemInitLock</literal>
+       </para>
+       <para>
+        Waiting to manage space allocation in shared memory.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>AutovacuumLock</literal>
+       </para>
+       <para>
+        Autovacuum worker or launcher waiting to update or
+        read the current state of autovacuum workers.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>AutovacuumScheduleLock</literal>
+       </para>
+       <para>
+        Waiting to ensure that the table selected for a vacuum
+        still needs vacuuming.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SyncScanLock</literal>
+       </para>
+       <para>
+        Waiting to get the start location of a scan on a table for
+        synchronized scans.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>RelationMappingLock</literal>
+       </para>
+       <para>
+        Waiting to update the relation map file used to store catalog
+        to filenode mapping.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>AsyncCtlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update shared notification state.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>AsyncQueueLock</literal>
+       </para>
+       <para>
+        Waiting to read or update notification messages.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SerializableXactHashLock</literal>
+       </para>
+       <para>
+        Waiting to retrieve or store information about serializable
+        transactions.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SerializableFinishedListLock</literal>
+       </para>
+       <para>
+        Waiting to access the list of finished serializable
+        transactions.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SerializablePredicateLockListLock</literal>
+       </para>
+       <para>
+        Waiting to perform an operation on a list of locks held by
+        serializable transactions.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>OldSerXidLock</literal>
+       </para>
+       <para>
+        Waiting to read or record conflicting serializable
+        transactions.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>SyncRepLock</literal>
+       </para>
+       <para>
+        Waiting to read or update information about synchronous
+        replicas.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>BackgroundWorkerLock</literal>
+       </para>
+       <para>
+        Waiting to read or update background worker state.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>DynamicSharedMemoryControlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update dynamic shared memory state.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>AutoFileLock</literal>
+       </para>
+       <para>
+        Waiting to update the <filename>postgresql.auto.conf</filename> file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>ReplicationSlotAllocationLock</literal>
+       </para>
+       <para>
+        Waiting to allocate or free a replication slot.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>ReplicationSlotControlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update replication slot state.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>CommitTsControlLock</literal>
+       </para>
+       <para>
+        Waiting to read or update transaction commit timestamps.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>CommitTsLock</literal>
+       </para>
+       <para>
+        Waiting to read or update the last value set for the
+        transaction timestamp.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>ReplicationOriginLock</literal>
+       </para>
+       <para>
+        Waiting to setup, drop or use replication origin.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>MultiXactTruncationLock</literal>
+       </para>
+       <para>
+        Waiting to read or truncate multixact information.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>OldSnapshotTimeMapLock</literal>
+       </para>
+       <para>
+        Waiting to read or update old snapshot control information.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>LogicalRepWorkerLock</literal>
+       </para>
+       <para>
+        Waiting for action on logical replication worker to finish.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>CLogTruncationLock</literal>
+       </para>
+       <para>
+        Waiting to execute <function>pg_xact_status</function> or update
+        the oldest transaction id available to it.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>clog</literal>
+       </para>
+       <para>
+        Waiting for I/O on a clog (transaction status) buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>commit_timestamp</literal>
+       </para>
+       <para>
+        Waiting for I/O on commit timestamp buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>subtrans</literal>
+       </para>
+       <para>
+        Waiting for I/O on a subtransaction buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>multixact_offset</literal>
+       </para>
+       <para>
+        Waiting for I/O on a multixact offset buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>multixact_member</literal>
+       </para>
+       <para>
+        Waiting for I/O on a multixact_member buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>async</literal>
+       </para>
+       <para>
+        Waiting for I/O on an async (notify) buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>oldserxid</literal>
+       </para>
+       <para>
+        Waiting for I/O on an oldserxid buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>wal_insert</literal>
+       </para>
+       <para>
+        Waiting to insert WAL into a memory buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>buffer_content</literal>
+       </para>
+       <para>
+        Waiting to read or write a data page in memory.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>buffer_io</literal>
+       </para>
+       <para>
+        Waiting for I/O on a data page.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>replication_origin</literal>
+       </para>
+       <para>
+        Waiting to read or update the replication progress.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>replication_slot_io</literal>
+       </para>
+       <para>
+        Waiting for I/O on a replication slot.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>proc</literal>
+       </para>
+       <para>
+        Waiting to read or update the fast-path lock information.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>buffer_mapping</literal>
+       </para>
+       <para>
+        Waiting to associate a data block with a buffer in the buffer
+        pool.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>lock_manager</literal>
+       </para>
+       <para>
+        Waiting to add or examine locks for backends, or waiting to
+        join or exit a locking group (used by parallel query).
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>predicate_lock_manager</literal>
+       </para>
+       <para>
+        Waiting to add or examine predicate lock information.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>serializable_xact</literal>
+       </para>
+       <para>
+        Waiting to perform an operation on a serializable transaction
+        in a parallel query.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>parallel_query_dsa</literal>
+       </para>
+       <para>
+        Waiting for parallel query dynamic shared memory allocation lock.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>tbm</literal>
+       </para>
+       <para>
+        Waiting for TBM shared iterator lock.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>parallel_append</literal>
+       </para>
+       <para>
+        Waiting to choose the next subplan during Parallel Append plan
+        execution.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>LWLock</literal> / <literal>parallel_hash_join</literal>
+       </para>
+       <para>
+        Waiting to allocate or exchange a chunk of memory or update
+        counters during Parallel Hash plan execution.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>relation</literal>
+       </para>
+       <para>
+        Waiting to acquire a lock on a relation.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>extend</literal>
+       </para>
+       <para>
+        Waiting to extend a relation.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>page</literal>
+       </para>
+       <para>
+        Waiting to acquire a lock on page of a relation.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>tuple</literal>
+       </para>
+       <para>
+        Waiting to acquire a lock on a tuple.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>transactionid</literal>
+       </para>
+       <para>
+        Waiting for a transaction to finish.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>virtualxid</literal>
+       </para>
+       <para>
+        Waiting to acquire a virtual xid lock.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>speculative token</literal>
+       </para>
+       <para>
+        Waiting to acquire a speculative insertion lock.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>object</literal>
+       </para>
+       <para>
+        Waiting to acquire a lock on a non-relation database object.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>userlock</literal>
+       </para>
+       <para>
+        Waiting to acquire a user lock.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Lock</literal> / <literal>advisory</literal>
+       </para>
+       <para>
+        Waiting to acquire an advisory user lock.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>BufferPin</literal> / <literal>BufferPin</literal>
+       </para>
+       <para>
+        Waiting to acquire a pin on a buffer.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>ArchiverMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of the archiver process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>AutoVacuumMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of autovacuum launcher process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>BgWriterHibernate</literal>
+       </para>
+       <para>
+        Waiting in background writer process, hibernating.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>BgWriterMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of background writer process background worker.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>CheckpointerMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of checkpointer process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>LogicalApplyMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of logical apply process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>LogicalLauncherMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of logical launcher process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>PgStatMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of the statistics collector process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>RecoveryWalStream</literal>
+       </para>
+       <para>
+        Waiting for WAL from a stream at recovery.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>SysLoggerMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of syslogger process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>WalReceiverMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of WAL receiver process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>WalSenderMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of WAL sender process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Activity</literal> / <literal>WalWriterMain</literal>
+       </para>
+       <para>
+        Waiting in main loop of WAL writer process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>ClientRead</literal>
+       </para>
+       <para>
+        Waiting to read data from the client.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>ClientWrite</literal>
+       </para>
+       <para>
+        Waiting to write data to the client.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>GSSOpenServer</literal>
+       </para>
+       <para>
+        Waiting to read data from the client while establishing the GSSAPI
+        session.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>LibPQWalReceiverConnect</literal>
+       </para>
+       <para>
+        Waiting in WAL receiver to establish connection to remote server.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>LibPQWalReceiverReceive</literal>
+       </para>
+       <para>
+        Waiting in WAL receiver to receive data from remote server.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>SSLOpenServer</literal>
+       </para>
+       <para>
+        Waiting for SSL while attempting connection.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>WalReceiverWaitStart</literal>
+       </para>
+       <para>
+        Waiting for startup process to send initial data for streaming
+        replication.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>WalSenderWaitForWAL</literal>
+       </para>
+       <para>
+        Waiting for WAL to be flushed in WAL sender process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Client</literal> / <literal>WalSenderWriteData</literal>
+       </para>
+       <para>
+        Waiting for any activity when processing replies from WAL receiver in
+        WAL sender process.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Extension</literal> / <literal>Extension</literal>
+       </para>
+       <para>
+        Waiting in an extension.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>BackupWaitWalArchive</literal>
+       </para>
+       <para>
+        Waiting for WAL files required for the backup to be successfully
+        archived.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>BgWorkerShutdown</literal>
+       </para>
+       <para>
+        Waiting for background worker to shut down.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>BgWorkerStartup</literal>
+       </para>
+       <para>
+        Waiting for background worker to start up.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>BtreePage</literal>
+       </para>
+       <para>
+        Waiting for the page number needed to continue a parallel B-tree scan
+        to become available.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>CheckpointDone</literal>
+       </para>
+       <para>
+        Waiting for a checkpoint to complete.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>CheckpointStart</literal>
+       </para>
+       <para>
+        Waiting for a checkpoint to start.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ClogGroupUpdate</literal>
+       </para>
+       <para>
+        Waiting for group leader to update transaction status at transaction
+        end.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ExecuteGather</literal>
+       </para>
+       <para>
+        Waiting for activity from child process while
+        executing <literal>Gather</literal> node.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/Batch/Allocating</literal>
+       </para>
+       <para>
+        Waiting for an elected Parallel Hash participant to allocate a hash
+        table.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/Batch/Electing</literal>
+       </para>
+       <para>
+        Electing a Parallel Hash participant to allocate a hash table.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/Batch/Loading</literal>
+       </para>
+       <para>
+        Waiting for other Parallel Hash participants to finish loading a hash
+        table.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/Build/Allocating</literal>
+       </para>
+       <para>
+        Waiting for an elected Parallel Hash participant to allocate the
+        initial hash table.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/Build/Electing</literal>
+       </para>
+       <para>
+        Electing a Parallel Hash participant to allocate the initial hash table.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/Build/HashingInner</literal>
+       </para>
+       <para>
+        Waiting for other Parallel Hash participants to finish hashing the
+        inner relation.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/Build/HashingOuter</literal>
+       </para>
+       <para>
+        Waiting for other Parallel Hash participants to finish partitioning
+        the outer relation.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBatches/Allocating</literal>
+       </para>
+       <para>
+        Waiting for an elected Parallel Hash participant to allocate more
+        batches.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBatches/Deciding</literal>
+       </para>
+       <para>
+        Electing a Parallel Hash participant to decide on future batch growth.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBatches/Electing</literal>
+       </para>
+       <para>
+        Electing a Parallel Hash participant to allocate more batches.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBatches/Finishing</literal>
+       </para>
+       <para>
+        Waiting for an elected Parallel Hash participant to decide on future
+        batch growth.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBatches/Repartitioning</literal>
+       </para>
+       <para>
+        Waiting for other Parallel Hash participants to finishing
+        repartitioning.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBuckets/Allocating</literal>
+       </para>
+       <para>
+        Waiting for an elected Parallel Hash participant to finish allocating
+        more buckets.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBuckets/Electing</literal>
+       </para>
+       <para>
+        Electing a Parallel Hash participant to allocate more buckets.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Hash/GrowBuckets/Reinserting</literal>
+       </para>
+       <para>
+        Waiting for other Parallel Hash participants to finish inserting
+        tuples into new buckets.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>LogicalSyncData</literal>
+       </para>
+       <para>
+        Waiting for logical replication remote server to send data for initial
+        table synchronization.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>LogicalSyncStateChange</literal>
+       </para>
+       <para>
+        Waiting for logical replication remote server to change state.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>MessageQueueInternal</literal>
+       </para>
+       <para>
+        Waiting for other process to be attached in shared message queue.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>MessageQueuePutMessage</literal>
+       </para>
+       <para>
+        Waiting to write a protocol message to a shared message queue.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>MessageQueueReceive</literal>
+       </para>
+       <para>
+        Waiting to receive bytes from a shared message queue.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>MessageQueueSend</literal>
+       </para>
+       <para>
+        Waiting to send bytes to a shared message queue.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ParallelBitmapScan</literal>
+       </para>
+       <para>
+        Waiting for parallel bitmap scan to become initialized.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ParallelCreateIndexScan</literal>
+       </para>
+       <para>
+        Waiting for parallel <command>CREATE INDEX</command> workers to finish
+        heap scan.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ParallelFinish</literal>
+       </para>
+       <para>
+        Waiting for parallel workers to finish computing.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ProcArrayGroupUpdate</literal>
+       </para>
+       <para>
+        Waiting for group leader to clear transaction id at transaction end.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>Promote</literal>
+       </para>
+       <para>
+        Waiting for standby promotion.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>RecoveryConflictSnapshot</literal>
+       </para>
+       <para>
+        Waiting for recovery conflict resolution on a vacuum cleanup.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>RecoveryConflictTablespace</literal>
+       </para>
+       <para>
+        Waiting for recovery conflict resolution on dropping tablespace.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>RecoveryPause</literal>
+       </para>
+       <para>
+        Waiting for recovery to be resumed.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ReplicationOriginDrop</literal>
+       </para>
+       <para>
+        Waiting for a replication origin to become inactive to be dropped.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>ReplicationSlotDrop</literal>
+       </para>
+       <para>
+        Waiting for a replication slot to become inactive to be dropped.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>SafeSnapshot</literal>
+       </para>
+       <para>
+        Waiting for a snapshot for a <literal>READ ONLY DEFERRABLE</literal>
+        transaction.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IPC</literal> / <literal>SyncRep</literal>
+       </para>
+       <para>
+        Waiting for confirmation from remote server during synchronous
+        replication.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Timeout</literal> / <literal>BaseBackupThrottle</literal>
+       </para>
+       <para>
+        Waiting during base backup when throttling activity.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Timeout</literal> / <literal>PgSleep</literal>
+       </para>
+       <para>
+        Waiting in process that called <function>pg_sleep</function>.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Timeout</literal> / <literal>RecoveryApplyDelay</literal>
+       </para>
+       <para>
+        Waiting to apply WAL at recovery because it is delayed.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Timeout</literal> / <literal>RecoveryRetrieveRetryInterval</literal>
+       </para>
+       <para>
+        Waiting when WAL data is not available from any kind of sources
+        (<filename>pg_wal</filename>, archive or stream) before trying
+        again to retrieve WAL data, at recovery.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>Timeout</literal> / <literal>VacuumDelay</literal>
+       </para>
+       <para>
+        Waiting in a cost-based vacuum delay point.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>BufFileRead</literal>
+       </para>
+       <para>
+        Waiting for a read from a buffered file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>BufFileWrite</literal>
+       </para>
+       <para>
+        Waiting for a write to a buffered file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ControlFileRead</literal>
+       </para>
+       <para>
+        Waiting for a read from the control file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ControlFileSync</literal>
+       </para>
+       <para>
+        Waiting for the control file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ControlFileSyncUpdate</literal>
+       </para>
+       <para>
+        Waiting for an update to the control file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ControlFileWrite</literal>
+       </para>
+       <para>
+        Waiting for a write to the control file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ControlFileWriteUpdate</literal>
+       </para>
+       <para>
+        Waiting for a write to update the control file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>CopyFileRead</literal>
+       </para>
+       <para>
+        Waiting for a read during a file copy operation.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>CopyFileWrite</literal>
+       </para>
+       <para>
+        Waiting for a write during a file copy operation.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFileExtend</literal>
+       </para>
+       <para>
+        Waiting for a relation data file to be extended.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFileFlush</literal>
+       </para>
+       <para>
+        Waiting for a relation data file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFileImmediateSync</literal>
+       </para>
+       <para>
+        Waiting for an immediate synchronization of a relation data file to
+        stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFilePrefetch</literal>
+       </para>
+       <para>
+        Waiting for an asynchronous prefetch from a relation data file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFileRead</literal>
+       </para>
+       <para>
+        Waiting for a read from a relation data file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFileSync</literal>
+       </para>
+       <para>
+        Waiting for changes to a relation data file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFileTruncate</literal>
+       </para>
+       <para>
+        Waiting for a relation data file to be truncated.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DataFileWrite</literal>
+       </para>
+       <para>
+        Waiting for a write to a relation data file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>DSMFillZeroWrite</literal>
+       </para>
+       <para>
+        Waiting to write zero bytes to a dynamic shared memory backing file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LockFileAddToDataDirRead</literal>
+       </para>
+       <para>
+        Waiting for a read while adding a line to the data directory lock file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LockFileAddToDataDirSync</literal>
+       </para>
+       <para>
+        Waiting for data to reach stable storage while adding a line to the
+        data directory lock file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LockFileAddToDataDirWrite</literal>
+       </para>
+       <para>
+        Waiting for a write while adding a line to the data directory lock file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LockFileCreateRead</literal>
+       </para>
+       <para>
+        Waiting to read while creating the data directory lock file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LockFileCreateSync</literal>
+       </para>
+       <para>
+        Waiting for data to reach stable storage while creating the data
+        directory lock file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LockFileCreateWrite</literal>
+       </para>
+       <para>
+        Waiting for a write while creating the data directory lock file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LockFileReCheckDataDirRead</literal>
+       </para>
+       <para>
+        Waiting for a read during recheck of the data directory lock file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LogicalRewriteCheckpointSync</literal>
+       </para>
+       <para>
+        Waiting for logical rewrite mappings to reach stable storage during a
+        checkpoint.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LogicalRewriteMappingSync</literal>
+       </para>
+       <para>
+        Waiting for mapping data to reach stable storage during a logical
+        rewrite.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LogicalRewriteMappingWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of mapping data during a logical rewrite.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LogicalRewriteSync</literal>
+       </para>
+       <para>
+        Waiting for logical rewrite mappings to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LogicalRewriteTruncate</literal>
+       </para>
+       <para>
+        Waiting for truncate of mapping data during a logical rewrite.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>LogicalRewriteWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of logical rewrite mappings.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ProcSignalBarrier</literal>
+       </para>
+       <para>
+        Waiting for a barrier event to be processed by all backends.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>RelationMapRead</literal>
+       </para>
+       <para>
+        Waiting for a read of the relation map file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>RelationMapSync</literal>
+       </para>
+       <para>
+        Waiting for the relation map file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>RelationMapWrite</literal>
+       </para>
+       <para>
+        Waiting for a write to the relation map file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ReorderBufferRead</literal>
+       </para>
+       <para>
+        Waiting for a read during reorder buffer management.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ReorderBufferWrite</literal>
+       </para>
+       <para>
+        Waiting for a write during reorder buffer management.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ReorderLogicalMappingRead</literal>
+       </para>
+       <para>
+        Waiting for a read of a logical mapping during reorder buffer
+        management.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ReplicationSlotRead</literal>
+       </para>
+       <para>
+        Waiting for a read from a replication slot control file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ReplicationSlotRestoreSync</literal>
+       </para>
+       <para>
+        Waiting for a replication slot control file to reach stable storage
+        while restoring it to memory.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ReplicationSlotSync</literal>
+       </para>
+       <para>
+        Waiting for a replication slot control file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>ReplicationSlotWrite</literal>
+       </para>
+       <para>
+        Waiting for a write to a replication slot control file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>SLRUFlushSync</literal>
+       </para>
+       <para>
+        Waiting for SLRU data to reach stable storage during a checkpoint or
+        database shutdown.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>SLRURead</literal>
+       </para>
+       <para>
+        Waiting for a read of an SLRU page.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>SLRUSync</literal>
+       </para>
+       <para>
+        Waiting for SLRU data to reach stable storage following a page write.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>SLRUWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of an SLRU page.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>SnapbuildRead</literal>
+       </para>
+       <para>
+        Waiting for a read of a serialized historical catalog snapshot.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>SnapbuildSync</literal>
+       </para>
+       <para>
+        Waiting for a serialized historical catalog snapshot to reach stable
+        storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>SnapbuildWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of a serialized historical catalog snapshot.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TimelineHistoryFileSync</literal>
+       </para>
+       <para>
+        Waiting for a timeline history file received via streaming replication
+        to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TimelineHistoryFileWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of a timeline history file received via streaming
+        replication.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TimelineHistoryRead</literal>
+       </para>
+       <para>
+        Waiting for a read of a timeline history file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TimelineHistorySync</literal>
+       </para>
+       <para>
+        Waiting for a newly created timeline history file to reach stable
+        storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TimelineHistoryWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of a newly created timeline history file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TwophaseFileRead</literal>
+       </para>
+       <para>
+        Waiting for a read of a two phase state file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TwophaseFileSync</literal>
+       </para>
+       <para>
+        Waiting for a two phase state file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>TwophaseFileWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of a two phase state file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALBootstrapSync</literal>
+       </para>
+       <para>
+        Waiting for WAL to reach stable storage during bootstrapping.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALBootstrapWrite</literal>
+       </para>
+       <para>
+        Waiting for a write of a WAL page during bootstrapping.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALCopyRead</literal>
+       </para>
+       <para>
+        Waiting for a read when creating a new WAL segment by copying an
+        existing one.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALCopySync</literal>
+       </para>
+       <para>
+        Waiting for a new WAL segment created by copying an existing one to
+        reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALCopyWrite</literal>
+       </para>
+       <para>
+        Waiting for a write when creating a new WAL segment by copying an
+        existing one.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALInitSync</literal>
+       </para>
+       <para>
+        Waiting for a newly initialized WAL file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALInitWrite</literal>
+       </para>
+       <para>
+        Waiting for a write while initializing a new WAL file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALRead</literal>
+       </para>
+       <para>
+        Waiting for a read from a WAL file.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALSenderTimelineHistoryRead</literal>
+       </para>
+       <para>
+        Waiting for a read from a timeline history file during walsender
+        timeline command.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALSync</literal>
+       </para>
+       <para>
+        Waiting for a WAL file to reach stable storage.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALSyncMethodAssign</literal>
+       </para>
+       <para>
+        Waiting for data to reach stable storage while assigning WAL sync
+        method.
+       </para></entry>
+      </row>
+      <row>
+       <entry role="func_table_entry"><para role="func_signature">
+        <literal>IO</literal> / <literal>WALWrite</literal>
+       </para>
+       <para>
+        Waiting for a write to a WAL file.
+       </para></entry>
+      </row>
+     </tbody>
+    </tgroup>
+  </table>
 
    <note>
     <para>
