</row>
<row>
<entry><literal>ControlFileRead</literal></entry>
- <entry>Waiting for a read from the control file.</entry>
+ <entry>Waiting for a read from the <filename>pg_control</filename>
+ file.</entry>
</row>
<row>
<entry><literal>ControlFileSync</literal></entry>
- <entry>Waiting for the control file to reach stable storage.</entry>
+ <entry>Waiting for the <filename>pg_control</filename> 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>
+ <entry>Waiting for an update to the <filename>pg_control</filename> file
+ to reach stable storage.</entry>
</row>
<row>
<entry><literal>ControlFileWrite</literal></entry>
- <entry>Waiting for a write to the control file.</entry>
+ <entry>Waiting for a write to the <filename>pg_control</filename>
+ file.</entry>
</row>
<row>
<entry><literal>ControlFileWriteUpdate</literal></entry>
- <entry>Waiting for a write to update the control file.</entry>
+ <entry>Waiting for a write to update the <filename>pg_control</filename>
+ file.</entry>
</row>
<row>
<entry><literal>CopyFileRead</literal></entry>
</row>
<row>
<entry><literal>DSMFillZeroWrite</literal></entry>
- <entry>Waiting to write zero bytes to a dynamic shared memory backing
- file.</entry>
+ <entry>Waiting to fill a dynamic shared memory backing file with
+ zeroes.</entry>
</row>
<row>
<entry><literal>DataFileExtend</literal></entry>
<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>WALSenderTimelineHistoryRead</literal></entry>
- <entry>Waiting for a read from a timeline history file during walsender
+ <entry>Waiting for a read from a timeline history file during a walsender
timeline command.</entry>
</row>
<row>
</row>
<row>
<entry><literal>WALSyncMethodAssign</literal></entry>
- <entry>Waiting for data to reach stable storage while assigning WAL sync
- method.</entry>
+ <entry>Waiting for data to reach stable storage while assigning a new
+ WAL sync method.</entry>
</row>
<row>
<entry><literal>WALWrite</literal></entry>
<tbody>
<row>
<entry><literal>BackupWaitWalArchive</literal></entry>
- <entry>Waiting for WAL files required for the backup to be successfully
+ <entry>Waiting for WAL files required for a backup to be successfully
archived.</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 while
- executing <literal>Gather</literal> node.</entry>
+ <entry>Waiting for activity from a child process while
+ executing a <literal>Gather</literal> plan node.</entry>
</row>
<row>
- <entry><literal>Hash/Batch/Allocating</literal></entry>
+ <entry><literal>HashBatchAllocate</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>
+ <entry><literal>HashBatchElect</literal></entry>
+ <entry>Waiting to elect a Parallel Hash participant to allocate a hash
+ table.</entry>
</row>
<row>
- <entry><literal>Hash/Batch/Loading</literal></entry>
+ <entry><literal>HashBatchLoad</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><literal>HashBuildAllocate</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>
+ <entry><literal>HashBuildElect</literal></entry>
+ <entry>Waiting to elect a Parallel Hash participant to allocate the
+ initial hash table.</entry>
</row>
<row>
- <entry><literal>Hash/Build/HashingInner</literal></entry>
+ <entry><literal>HashBuildHashInner</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><literal>HashBuildHashOuter</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><literal>HashGrowBatchesAllocate</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>
+ <entry><literal>HashGrowBatchesDecide</literal></entry>
+ <entry>Waiting to elect 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>
+ <entry><literal>HashGrowBatchesElect</literal></entry>
+ <entry>Waiting to elect a Parallel Hash participant to allocate more
+ batches.</entry>
</row>
<row>
- <entry><literal>Hash/GrowBatches/Finishing</literal></entry>
+ <entry><literal>HashGrowBatchesFinish</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
+ <entry><literal>HashGrowBatchesRepartition</literal></entry>
+ <entry>Waiting for other Parallel Hash participants to finish
repartitioning.</entry>
</row>
<row>
- <entry><literal>Hash/GrowBuckets/Allocating</literal></entry>
+ <entry><literal>HashGrowBucketsAllocate</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>
+ <entry><literal>HashGrowBucketsElect</literal></entry>
+ <entry>Waiting to elect a Parallel Hash participant to allocate more
+ buckets.</entry>
</row>
<row>
- <entry><literal>Hash/GrowBuckets/Reinserting</literal></entry>
+ <entry><literal>HashGrowBucketsReinsert</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
+ <entry>Waiting for a 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>
+ <entry>Waiting for a 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>
+ <entry>Waiting for another process to be attached to a shared message
+ queue.</entry>
</row>
<row>
<entry><literal>MessageQueuePutMessage</literal></entry>
</row>
<row>
<entry><literal>ProcArrayGroupUpdate</literal></entry>
- <entry>Waiting for group leader to clear transaction id at transaction end.</entry>
+ <entry>Waiting for the group leader to clear the transaction ID at
+ end of a parallel operation.</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>Promote</literal></entry>
</row>
<row>
<entry><literal>RecoveryConflictSnapshot</literal></entry>
- <entry>Waiting for recovery conflict resolution on a vacuum cleanup.</entry>
+ <entry>Waiting for recovery conflict resolution for a vacuum
+ cleanup.</entry>
</row>
<row>
<entry><literal>RecoveryConflictTablespace</literal></entry>
- <entry>Waiting for recovery conflict resolution on dropping tablespace.</entry>
+ <entry>Waiting for recovery conflict resolution for dropping a
+ tablespace.</entry>
</row>
<row>
<entry><literal>RecoveryPause</literal></entry>
</row>
<row>
<entry><literal>ReplicationOriginDrop</literal></entry>
- <entry>Waiting for a replication origin to become inactive to be dropped.</entry>
+ <entry>Waiting for a replication origin to become inactive so it can be
+ dropped.</entry>
</row>
<row>
<entry><literal>ReplicationSlotDrop</literal></entry>
- <entry>Waiting for a replication slot to become inactive to be dropped.</entry>
+ <entry>Waiting for a replication slot to become inactive so it can be
+ dropped.</entry>
</row>
<row>
<entry><literal>SafeSnapshot</literal></entry>
- <entry>Waiting for a snapshot for a <literal>READ ONLY DEFERRABLE</literal>
- transaction.</entry>
+ <entry>Waiting to obtain a valid 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
+ <entry>Waiting for confirmation from a remote server during synchronous
replication.</entry>
</row>
+ <row>
+ <entry><literal>XactGroupUpdate</literal></entry>
+ <entry>Waiting for the group leader to update transaction status at
+ end of a parallel operation.</entry>
+ </row>
</tbody>
</tgroup>
</table>
int extraWaits = 0;
/* Sleep until the leader updates our XID status. */
- pgstat_report_wait_start(WAIT_EVENT_CLOG_GROUP_UPDATE);
+ pgstat_report_wait_start(WAIT_EVENT_XACT_GROUP_UPDATE);
for (;;)
{
/* acts as a read barrier */
* ExecHashTableCreate(), or someone else is doing that. Either
* way, wait for everyone to arrive here so we can proceed.
*/
- BarrierArriveAndWait(build_barrier, WAIT_EVENT_HASH_BUILD_ALLOCATING);
+ BarrierArriveAndWait(build_barrier, WAIT_EVENT_HASH_BUILD_ALLOCATE);
/* Fall through. */
case PHJ_BUILD_HASHING_INNER:
* counters.
*/
if (BarrierArriveAndWait(build_barrier,
- WAIT_EVENT_HASH_BUILD_HASHING_INNER))
+ WAIT_EVENT_HASH_BUILD_HASH_INNER))
{
/*
* Elect one backend to disable any further growth. Batches
* backend will be elected to do that now if necessary.
*/
if (BarrierPhase(build_barrier) == PHJ_BUILD_ELECTING &&
- BarrierArriveAndWait(build_barrier, WAIT_EVENT_HASH_BUILD_ELECTING))
+ BarrierArriveAndWait(build_barrier, WAIT_EVENT_HASH_BUILD_ELECT))
{
pstate->nbatch = nbatch;
pstate->space_allowed = space_allowed;
* tuples.
*/
if (BarrierArriveAndWait(&pstate->grow_batches_barrier,
- WAIT_EVENT_HASH_GROW_BATCHES_ELECTING))
+ WAIT_EVENT_HASH_GROW_BATCHES_ELECT))
{
dsa_pointer_atomic *buckets;
ParallelHashJoinBatch *old_batch0;
case PHJ_GROW_BATCHES_ALLOCATING:
/* Wait for the above to be finished. */
BarrierArriveAndWait(&pstate->grow_batches_barrier,
- WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATING);
+ WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATE);
/* Fall through. */
case PHJ_GROW_BATCHES_REPARTITIONING:
ExecParallelHashMergeCounters(hashtable);
/* Wait for the above to be finished. */
BarrierArriveAndWait(&pstate->grow_batches_barrier,
- WAIT_EVENT_HASH_GROW_BATCHES_REPARTITIONING);
+ WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION);
/* Fall through. */
case PHJ_GROW_BATCHES_DECIDING:
* not helping.
*/
if (BarrierArriveAndWait(&pstate->grow_batches_barrier,
- WAIT_EVENT_HASH_GROW_BATCHES_DECIDING))
+ WAIT_EVENT_HASH_GROW_BATCHES_DECIDE))
{
bool space_exhausted = false;
bool extreme_skew_detected = false;
case PHJ_GROW_BATCHES_FINISHING:
/* Wait for the above to complete. */
BarrierArriveAndWait(&pstate->grow_batches_barrier,
- WAIT_EVENT_HASH_GROW_BATCHES_FINISHING);
+ WAIT_EVENT_HASH_GROW_BATCHES_FINISH);
}
}
case PHJ_GROW_BUCKETS_ELECTING:
/* Elect one participant to prepare to increase nbuckets. */
if (BarrierArriveAndWait(&pstate->grow_buckets_barrier,
- WAIT_EVENT_HASH_GROW_BUCKETS_ELECTING))
+ WAIT_EVENT_HASH_GROW_BUCKETS_ELECT))
{
size_t size;
dsa_pointer_atomic *buckets;
case PHJ_GROW_BUCKETS_ALLOCATING:
/* Wait for the above to complete. */
BarrierArriveAndWait(&pstate->grow_buckets_barrier,
- WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATING);
+ WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATE);
/* Fall through. */
case PHJ_GROW_BUCKETS_REINSERTING:
CHECK_FOR_INTERRUPTS();
}
BarrierArriveAndWait(&pstate->grow_buckets_barrier,
- WAIT_EVENT_HASH_GROW_BUCKETS_REINSERTING);
+ WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT);
}
}
if (hashtable->nbatch > 1)
ExecParallelHashJoinPartitionOuter(node);
BarrierArriveAndWait(build_barrier,
- WAIT_EVENT_HASH_BUILD_HASHING_OUTER);
+ WAIT_EVENT_HASH_BUILD_HASH_OUTER);
}
Assert(BarrierPhase(build_barrier) == PHJ_BUILD_DONE);
/* One backend allocates the hash table. */
if (BarrierArriveAndWait(batch_barrier,
- WAIT_EVENT_HASH_BATCH_ELECTING))
+ WAIT_EVENT_HASH_BATCH_ELECT))
ExecParallelHashTableAlloc(hashtable, batchno);
/* Fall through. */
case PHJ_BATCH_ALLOCATING:
/* Wait for allocation to complete. */
BarrierArriveAndWait(batch_barrier,
- WAIT_EVENT_HASH_BATCH_ALLOCATING);
+ WAIT_EVENT_HASH_BATCH_ALLOCATE);
/* Fall through. */
case PHJ_BATCH_LOADING:
}
sts_end_parallel_scan(inner_tuples);
BarrierArriveAndWait(batch_barrier,
- WAIT_EVENT_HASH_BATCH_LOADING);
+ WAIT_EVENT_HASH_BATCH_LOAD);
/* Fall through. */
case PHJ_BATCH_PROBING:
case WAIT_EVENT_CHECKPOINT_START:
event_name = "CheckpointStart";
break;
- case WAIT_EVENT_CLOG_GROUP_UPDATE:
- event_name = "ClogGroupUpdate";
- break;
case WAIT_EVENT_EXECUTE_GATHER:
event_name = "ExecuteGather";
break;
- case WAIT_EVENT_HASH_BATCH_ALLOCATING:
- event_name = "Hash/Batch/Allocating";
+ case WAIT_EVENT_HASH_BATCH_ALLOCATE:
+ event_name = "HashBatchAllocate";
break;
- case WAIT_EVENT_HASH_BATCH_ELECTING:
- event_name = "Hash/Batch/Electing";
+ case WAIT_EVENT_HASH_BATCH_ELECT:
+ event_name = "HashBatchElect";
break;
- case WAIT_EVENT_HASH_BATCH_LOADING:
- event_name = "Hash/Batch/Loading";
+ case WAIT_EVENT_HASH_BATCH_LOAD:
+ event_name = "HashBatchLoad";
break;
- case WAIT_EVENT_HASH_BUILD_ALLOCATING:
- event_name = "Hash/Build/Allocating";
+ case WAIT_EVENT_HASH_BUILD_ALLOCATE:
+ event_name = "HashBuildAllocate";
break;
- case WAIT_EVENT_HASH_BUILD_ELECTING:
- event_name = "Hash/Build/Electing";
+ case WAIT_EVENT_HASH_BUILD_ELECT:
+ event_name = "HashBuildElect";
break;
- case WAIT_EVENT_HASH_BUILD_HASHING_INNER:
- event_name = "Hash/Build/HashingInner";
+ case WAIT_EVENT_HASH_BUILD_HASH_INNER:
+ event_name = "HashBuildHashInner";
break;
- case WAIT_EVENT_HASH_BUILD_HASHING_OUTER:
- event_name = "Hash/Build/HashingOuter";
+ case WAIT_EVENT_HASH_BUILD_HASH_OUTER:
+ event_name = "HashBuildHashOuter";
break;
- case WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATING:
- event_name = "Hash/GrowBatches/Allocating";
+ case WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATE:
+ event_name = "HashGrowBatchesAllocate";
break;
- case WAIT_EVENT_HASH_GROW_BATCHES_DECIDING:
- event_name = "Hash/GrowBatches/Deciding";
+ case WAIT_EVENT_HASH_GROW_BATCHES_DECIDE:
+ event_name = "HashGrowBatchesDecide";
break;
- case WAIT_EVENT_HASH_GROW_BATCHES_ELECTING:
- event_name = "Hash/GrowBatches/Electing";
+ case WAIT_EVENT_HASH_GROW_BATCHES_ELECT:
+ event_name = "HashGrowBatchesElect";
break;
- case WAIT_EVENT_HASH_GROW_BATCHES_FINISHING:
- event_name = "Hash/GrowBatches/Finishing";
+ case WAIT_EVENT_HASH_GROW_BATCHES_FINISH:
+ event_name = "HashGrowBatchesFinish";
break;
- case WAIT_EVENT_HASH_GROW_BATCHES_REPARTITIONING:
- event_name = "Hash/GrowBatches/Repartitioning";
+ case WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION:
+ event_name = "HashGrowBatchesRepartition";
break;
- case WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATING:
- event_name = "Hash/GrowBuckets/Allocating";
+ case WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATE:
+ event_name = "HashGrowBucketsAllocate";
break;
- case WAIT_EVENT_HASH_GROW_BUCKETS_ELECTING:
- event_name = "Hash/GrowBuckets/Electing";
+ case WAIT_EVENT_HASH_GROW_BUCKETS_ELECT:
+ event_name = "HashGrowBucketsElect";
break;
- case WAIT_EVENT_HASH_GROW_BUCKETS_REINSERTING:
- event_name = "Hash/GrowBuckets/Reinserting";
+ case WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT:
+ event_name = "HashGrowBucketsReinsert";
break;
case WAIT_EVENT_LOGICAL_SYNC_DATA:
event_name = "LogicalSyncData";
case WAIT_EVENT_PROCARRAY_GROUP_UPDATE:
event_name = "ProcArrayGroupUpdate";
break;
+ case WAIT_EVENT_PROC_SIGNAL_BARRIER:
+ event_name = "ProcSignalBarrier";
+ break;
case WAIT_EVENT_PROMOTE:
event_name = "Promote";
break;
case WAIT_EVENT_SYNC_REP:
event_name = "SyncRep";
break;
+ case WAIT_EVENT_XACT_GROUP_UPDATE:
+ event_name = "XactGroupUpdate";
+ break;
/* no default case, so that compiler will warn */
}
case WAIT_EVENT_LOGICAL_REWRITE_WRITE:
event_name = "LogicalRewriteWrite";
break;
- case WAIT_EVENT_PROC_SIGNAL_BARRIER:
- event_name = "ProcSignalBarrier";
- break;
case WAIT_EVENT_RELATION_MAP_READ:
event_name = "RelationMapRead";
break;
WAIT_EVENT_BGWORKER_SHUTDOWN,
WAIT_EVENT_BGWORKER_STARTUP,
WAIT_EVENT_BTREE_PAGE,
- WAIT_EVENT_CLOG_GROUP_UPDATE,
WAIT_EVENT_CHECKPOINT_DONE,
WAIT_EVENT_CHECKPOINT_START,
WAIT_EVENT_EXECUTE_GATHER,
- WAIT_EVENT_HASH_BATCH_ALLOCATING,
- WAIT_EVENT_HASH_BATCH_ELECTING,
- WAIT_EVENT_HASH_BATCH_LOADING,
- WAIT_EVENT_HASH_BUILD_ALLOCATING,
- WAIT_EVENT_HASH_BUILD_ELECTING,
- WAIT_EVENT_HASH_BUILD_HASHING_INNER,
- WAIT_EVENT_HASH_BUILD_HASHING_OUTER,
- WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATING,
- WAIT_EVENT_HASH_GROW_BATCHES_DECIDING,
- WAIT_EVENT_HASH_GROW_BATCHES_ELECTING,
- WAIT_EVENT_HASH_GROW_BATCHES_FINISHING,
- WAIT_EVENT_HASH_GROW_BATCHES_REPARTITIONING,
- WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATING,
- WAIT_EVENT_HASH_GROW_BUCKETS_ELECTING,
- WAIT_EVENT_HASH_GROW_BUCKETS_REINSERTING,
+ WAIT_EVENT_HASH_BATCH_ALLOCATE,
+ WAIT_EVENT_HASH_BATCH_ELECT,
+ WAIT_EVENT_HASH_BATCH_LOAD,
+ WAIT_EVENT_HASH_BUILD_ALLOCATE,
+ WAIT_EVENT_HASH_BUILD_ELECT,
+ WAIT_EVENT_HASH_BUILD_HASH_INNER,
+ WAIT_EVENT_HASH_BUILD_HASH_OUTER,
+ WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATE,
+ WAIT_EVENT_HASH_GROW_BATCHES_DECIDE,
+ WAIT_EVENT_HASH_GROW_BATCHES_ELECT,
+ WAIT_EVENT_HASH_GROW_BATCHES_FINISH,
+ WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION,
+ WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATE,
+ WAIT_EVENT_HASH_GROW_BUCKETS_ELECT,
+ WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT,
WAIT_EVENT_LOGICAL_SYNC_DATA,
WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE,
WAIT_EVENT_MQ_INTERNAL,
WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN,
WAIT_EVENT_PARALLEL_FINISH,
WAIT_EVENT_PROCARRAY_GROUP_UPDATE,
+ WAIT_EVENT_PROC_SIGNAL_BARRIER,
WAIT_EVENT_PROMOTE,
WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT,
WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE,
WAIT_EVENT_REPLICATION_ORIGIN_DROP,
WAIT_EVENT_REPLICATION_SLOT_DROP,
WAIT_EVENT_SAFE_SNAPSHOT,
- WAIT_EVENT_SYNC_REP
+ WAIT_EVENT_SYNC_REP,
+ WAIT_EVENT_XACT_GROUP_UPDATE
} WaitEventIPC;
/* ----------
WAIT_EVENT_LOGICAL_REWRITE_SYNC,
WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE,
WAIT_EVENT_LOGICAL_REWRITE_WRITE,
- WAIT_EVENT_PROC_SIGNAL_BARRIER,
WAIT_EVENT_RELATION_MAP_READ,
WAIT_EVENT_RELATION_MAP_SYNC,
WAIT_EVENT_RELATION_MAP_WRITE,