This is the multi-page printable view of this section. .
I/O waits
- 1: IO: AioIoCompletion
- 2: IO: AioIoUringExecution
- 3: IO: AioIoUringSubmit
- 4: IO: BasebackupRead
- 5: IO: BasebackupSync
- 6: IO: BasebackupWrite
- 7: IO: BuffileRead
- 8: IO: BuffileTruncate
- 9: IO: BuffileWrite
- 10: IO: ControlFileRead
- 11: IO: ControlFileSync
- 12: IO: ControlFileSyncUpdate
- 13: IO: ControlFileWrite
- 14: IO: ControlFileWriteUpdate
- 15: IO: CopyFileCopy
- 16: IO: CopyFileRead
- 17: IO: CopyFileWrite
- 18: IO: DataFileExtend
- 19: IO: DataFileFlush
- 20: IO: DataFileImmediateSync
- 21: IO: DataFilePrefetch
- 22: IO: DataFileRead
- 23: IO: DataFileSync
- 24: IO: DataFileTruncate
- 25: IO: DataFileWrite
- 26: IO: DsmAllocate
- 27: IO: DsmFillZeroWrite
- 28: IO: LockFileAddtodatadirRead
- 29: IO: LockFileAddtodatadirSync
- 30: IO: LockFileAddtodatadirWrite
- 31: IO: LockFileCreateRead
- 32: IO: LockFileCreateSync
- 33: IO: LockFileCreateWrite
- 34: IO: LockFileRecheckdatadirRead
- 35: IO: LogicalChangesRead
- 36: IO: LogicalChangesWrite
- 37: IO: LogicalRewriteCheckpointSync
- 38: IO: LogicalRewriteMappingSync
- 39: IO: LogicalRewriteMappingWrite
- 40: IO: LogicalRewriteSync
- 41: IO: LogicalRewriteTruncate
- 42: IO: LogicalRewriteWrite
- 43: IO: LogicalSubxactRead
- 44: IO: LogicalSubxactWrite
- 45: IO: RelationMapRead
- 46: IO: RelationMapReplace
- 47: IO: RelationMapSync
- 48: IO: RelationMapWrite
- 49: IO: ReorderBufferRead
- 50: IO: ReorderBufferWrite
- 51: IO: ReorderLogicalMappingRead
- 52: IO: ReplicationSlotRead
- 53: IO: ReplicationSlotRestoreSync
- 54: IO: ReplicationSlotSync
- 55: IO: ReplicationSlotWrite
- 56: IO: SlruFlushSync
- 57: IO: SlruRead
- 58: IO: SlruSync
- 59: IO: SlruWrite
- 60: IO: SnapbuildRead
- 61: IO: SnapbuildSync
- 62: IO: SnapbuildWrite
- 63: IO: TimelineHistoryFileSync
- 64: IO: TimelineHistoryFileWrite
- 65: IO: TimelineHistoryRead
- 66: IO: TimelineHistorySync
- 67: IO: TimelineHistoryWrite
- 68: IO: TwophaseFileRead
- 69: IO: TwophaseFileSync
- 70: IO: TwophaseFileWrite
- 71: IO: VersionFileSync
- 72: IO: VersionFileWrite
- 73: IO: WalBootstrapSync
- 74: IO: WalBootstrapWrite
- 75: IO: WalCopyRead
- 76: IO: WalCopySync
- 77: IO: WalCopyWrite
- 78: IO: WalInitSync
- 79: IO: WalInitWrite
- 80: IO: WalRead
- 81: IO: WalSummaryRead
- 82: IO: WalSummaryWrite
- 83: IO: WalSync
- 84: IO: WalSyncMethodAssign
- 85: IO: WalWrite
- 86: IO: WalsenderTimelineHistoryRead
IO means PostgreSQL has instrumented a file operation and the backend cannot continue until the kernel or another I/O worker makes progress. It says which PostgreSQL file path is involved; it does not, by itself, prove the storage is slow.
Read event + operation + workload phase
Names usually encode both object and operation: DataFileRead, WalSync, SlruWrite, ReorderBufferRead. Ask whether the workload should be performing that operation now, then compare duration and concurrency with pg_stat_io (PG16+) and operating-system latency.
- Normal: scans read data files, checkpoints sync dirty files, backups read/write, recovery reads WAL.
- Watch: the same foreground I/O event persists in consecutive samples and device latency or query latency rises.
- Urgent: many backends queue behind sync/write completion, errors appear, or the affected path reaches saturation/throttling.
Events to recognize
| Event | First interpretation |
|---|---|
| DataFileRead | Cache miss or scan reading relation data |
| DataFileWrite | Backend/checkpoint path writing relation data |
| DataFileSync | Relation changes are being made durable |
| WalWrite | WAL bytes are being written |
| WalSync | WAL durability boundary is waiting on fsync/fdatasync |
| SlruRead | Transaction-related SLRU page read |
| BuffileRead | Temp/spill file read |
| AioIoCompletion | PG18 AIO work has not completed yet |
PG16+ I/O context
Common misreads
- A high count of
DataFileReadduring an intentional sequential scan can be healthy throughput. WalWriteand LWLockWALWriteare different: one is a file operation, the other internal coordination.- Average device latency can hide a saturated single WAL volume or tail-latency spikes.
- Raising cache size cannot fix every read wait; poor plans and cold one-time scans may simply displace useful pages.
1 - IO: AioIoCompletion
AioIoCompletion
VersionsPG 18
Evidence2 source location(s)
Official description
Waiting for another process to complete IO
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | — | ✓ |
Trigger mechanism
WAIT_EVENT_AIO_IO_COMPLETION at src/backend/storage/aio/aio.c:643 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:196. The instrumented operation is: Waiting for another process to complete IO. PostgreSQL reports AioIoCompletion around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/aio/aio.c:643 —
WAIT_EVENT_AIO_IO_COMPLETION - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:196 —
AIO_IO_COMPLETION
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
2 - IO: AioIoUringExecution
AioIoUringExecution
VersionsPG 18
Evidence2 source location(s)
Official description
Waiting for IO execution via io_uring
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | — | ✓ |
Trigger mechanism
WAIT_EVENT_AIO_IO_URING_EXECUTION at src/backend/storage/aio/method_io_uring.c:624 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:198. The instrumented operation is: Waiting for IO execution via io_uring. PostgreSQL reports AioIoUringExecution around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/aio/method_io_uring.c:624 —
WAIT_EVENT_AIO_IO_URING_EXECUTION - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:198 —
AIO_IO_URING_EXECUTION
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
3 - IO: AioIoUringSubmit
AioIoUringSubmit
VersionsPG 18
Evidence2 source location(s)
Official description
Waiting for IO submission via io_uring
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | — | ✓ |
Trigger mechanism
WAIT_EVENT_AIO_IO_URING_SUBMIT at src/backend/storage/aio/method_io_uring.c:451 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:197. The instrumented operation is: Waiting for IO submission via io_uring. PostgreSQL reports AioIoUringSubmit around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/aio/method_io_uring.c:451 —
WAIT_EVENT_AIO_IO_URING_SUBMIT - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:197 —
AIO_IO_URING_SUBMIT
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
4 - IO: BasebackupRead
BasebackupRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for base backup to read from a file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/BaseBackupRead (PG 14-16)
Trigger mechanism
WAIT_EVENT_BASEBACKUP_READ at src/backend/backup/basebackup.c:1837 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:541. The instrumented operation is: Waiting for base backup to read from a file. PostgreSQL reports BasebackupRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/backup/basebackup.c:1837 —
WAIT_EVENT_BASEBACKUP_READ - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:541 —
BaseBackupRead - PostgreSQL 18.6 · src/backend/backup/basebackup.c:2119 —
WAIT_EVENT_BASEBACKUP_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:199 —
BASEBACKUP_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
5 - IO: BasebackupSync
BasebackupSync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for data written by a base backup to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/BaseBackupSync (PG 15-16)
Trigger mechanism
WAIT_EVENT_BASEBACKUP_SYNC at src/backend/backup/basebackup_server.c:206 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:544. The instrumented operation is: Waiting for data written by a base backup to reach durable storage. PostgreSQL reports BasebackupSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/backup/basebackup_server.c:206 —
WAIT_EVENT_BASEBACKUP_SYNC - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:544 —
BaseBackupSync - PostgreSQL 18.6 · src/backend/backup/basebackup_server.c:204 —
WAIT_EVENT_BASEBACKUP_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:200 —
BASEBACKUP_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
6 - IO: BasebackupWrite
BasebackupWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for base backup to write to a file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/BaseBackupWrite (PG 15-16)
Trigger mechanism
WAIT_EVENT_BASEBACKUP_WRITE at src/backend/backup/basebackup_server.c:168 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:547. The instrumented operation is: Waiting for base backup to write to a file. PostgreSQL reports BasebackupWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/backup/basebackup_server.c:168 —
WAIT_EVENT_BASEBACKUP_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:547 —
BaseBackupWrite - PostgreSQL 18.6 · src/backend/backup/basebackup_server.c:166 —
WAIT_EVENT_BASEBACKUP_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:201 —
BASEBACKUP_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
7 - IO: BuffileRead
BuffileRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a read from a buffered file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/BufFileRead (PG 13-16)
Trigger mechanism
WAIT_EVENT_BUFFILE_READ at src/backend/storage/file/buffile.c:464 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:550. The instrumented operation is: Waiting for a read from a buffered file. PostgreSQL reports BuffileRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/storage/file/buffile.c:464 —
WAIT_EVENT_BUFFILE_READ - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:550 —
BufFileRead - PostgreSQL 18.6 · src/backend/storage/file/buffile.c:464 —
WAIT_EVENT_BUFFILE_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:202 —
BUFFILE_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
8 - IO: BuffileTruncate
BuffileTruncate
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a buffered file to be truncated
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/BufFileTruncate (PG 14-16)
Trigger mechanism
WAIT_EVENT_BUFFILE_TRUNCATE at src/backend/storage/file/buffile.c:989 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:556. The instrumented operation is: Waiting for a buffered file to be truncated. PostgreSQL reports BuffileTruncate around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/storage/file/buffile.c:989 —
WAIT_EVENT_BUFFILE_TRUNCATE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:556 —
BufFileTruncate - PostgreSQL 18.6 · src/backend/storage/file/buffile.c:966 —
WAIT_EVENT_BUFFILE_TRUNCATE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:204 —
BUFFILE_TRUNCATE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
9 - IO: BuffileWrite
BuffileWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a write to a buffered file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/BufFileWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_BUFFILE_WRITE at src/backend/storage/file/buffile.c:541 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:553. The instrumented operation is: Waiting for a write to a buffered file. PostgreSQL reports BuffileWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/storage/file/buffile.c:541 —
WAIT_EVENT_BUFFILE_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:553 —
BufFileWrite - PostgreSQL 18.6 · src/backend/storage/file/buffile.c:541 —
WAIT_EVENT_BUFFILE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:203 —
BUFFILE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
10 - IO: ControlFileRead
ControlFileRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read from the pg_control file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_CONTROL_FILE_READ at src/backend/access/transam/xlog.c:4362 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:205. The instrumented operation is: Waiting for a read from the pg_control file. PostgreSQL reports ControlFileRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/xlog.c:4362 —
WAIT_EVENT_CONTROL_FILE_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:205 —
CONTROL_FILE_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
11 - IO: ControlFileSync
ControlFileSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for the pg_control file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_CONTROL_FILE_SYNC at src/backend/access/transam/xlog.c:4328 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:206. The instrumented operation is: Waiting for the pg_control file to reach durable storage. PostgreSQL reports ControlFileSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/xlog.c:4328 —
WAIT_EVENT_CONTROL_FILE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:206 —
CONTROL_FILE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
12 - IO: ControlFileSyncUpdate
ControlFileSyncUpdate
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for an update to the pg_control file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE at src/common/controldata_utils.c:259 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:207. The instrumented operation is: Waiting for an update to the pg_control file to reach durable storage. PostgreSQL reports ControlFileSyncUpdate around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:207 —
CONTROL_FILE_SYNC_UPDATE - PostgreSQL 18.6 · src/common/controldata_utils.c:259 —
WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
13 - IO: ControlFileWrite
ControlFileWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write to the pg_control file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_CONTROL_FILE_WRITE at src/backend/access/transam/xlog.c:4315 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:208. The instrumented operation is: Waiting for a write to the pg_control file. PostgreSQL reports ControlFileWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/xlog.c:4315 —
WAIT_EVENT_CONTROL_FILE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:208 —
CONTROL_FILE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
14 - IO: ControlFileWriteUpdate
ControlFileWriteUpdate
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write to update the pg_control file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE at src/common/controldata_utils.c:235 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:209. The instrumented operation is: Waiting for a write to update the pg_control file. PostgreSQL reports ControlFileWriteUpdate around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:209 —
CONTROL_FILE_WRITE_UPDATE - PostgreSQL 18.6 · src/common/controldata_utils.c:235 —
WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
15 - IO: CopyFileCopy
CopyFileCopy
VersionsPG 18
Evidence2 source location(s)
Official description
Waiting for a file copy operation
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | — | ✓ |
Trigger mechanism
WAIT_EVENT_COPY_FILE_COPY at src/backend/storage/file/copydir.c:270 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:210. The instrumented operation is: Waiting for a file copy operation. PostgreSQL reports CopyFileCopy around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/file/copydir.c:270 —
WAIT_EVENT_COPY_FILE_COPY - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:210 —
COPY_FILE_COPY
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
16 - IO: CopyFileRead
CopyFileRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read during a file copy operation
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_COPY_FILE_READ at src/backend/storage/file/copydir.c:195 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:211. The instrumented operation is: Waiting for a read during a file copy operation. PostgreSQL reports CopyFileRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/file/copydir.c:195 —
WAIT_EVENT_COPY_FILE_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:211 —
COPY_FILE_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
17 - IO: CopyFileWrite
CopyFileWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write during a file copy operation
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_COPY_FILE_WRITE at src/backend/storage/file/copydir.c:205 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:212. The instrumented operation is: Waiting for a write during a file copy operation. PostgreSQL reports CopyFileWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/file/copydir.c:205 —
WAIT_EVENT_COPY_FILE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:212 —
COPY_FILE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
18 - IO: DataFileExtend
DataFileExtend
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a relation data file to be extended
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_EXTEND at src/backend/storage/smgr/md.c:512 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:213. The instrumented operation is: Waiting for a relation data file to be extended. PostgreSQL reports DataFileExtend around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/smgr/md.c:512 —
WAIT_EVENT_DATA_FILE_EXTEND - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:213 —
DATA_FILE_EXTEND
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
19 - IO: DataFileFlush
DataFileFlush
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a relation data file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_FLUSH at src/backend/storage/smgr/md.c:1208 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:214. The instrumented operation is: Waiting for a relation data file to reach durable storage. PostgreSQL reports DataFileFlush around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/smgr/md.c:1208 —
WAIT_EVENT_DATA_FILE_FLUSH - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:214 —
DATA_FILE_FLUSH
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
20 - IO: DataFileImmediateSync
DataFileImmediateSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for an immediate synchronization of a relation data file to durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC at src/backend/storage/smgr/md.c:1466 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:215. The instrumented operation is: Waiting for an immediate synchronization of a relation data file to durable storage. PostgreSQL reports DataFileImmediateSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/smgr/md.c:1466 —
WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:215 —
DATA_FILE_IMMEDIATE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
21 - IO: DataFilePrefetch
DataFilePrefetch
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for an asynchronous prefetch from a relation data file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_PREFETCH at src/backend/storage/smgr/md.c:767 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:216. The instrumented operation is: Waiting for an asynchronous prefetch from a relation data file. PostgreSQL reports DataFilePrefetch around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/smgr/md.c:767 —
WAIT_EVENT_DATA_FILE_PREFETCH - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:216 —
DATA_FILE_PREFETCH
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
22 - IO: DataFileRead
DataFileRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read from a relation data file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_READ at src/backend/storage/aio/aio_io.c:127 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:217. The instrumented operation is: Waiting for a read from a relation data file. PostgreSQL reports DataFileRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/aio/aio_io.c:127 —
WAIT_EVENT_DATA_FILE_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:217 —
DATA_FILE_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
23 - IO: DataFileSync
DataFileSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for changes to a relation data file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_SYNC at src/backend/storage/smgr/md.c:1526 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:218. The instrumented operation is: Waiting for changes to a relation data file to reach durable storage. PostgreSQL reports DataFileSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/smgr/md.c:1526 —
WAIT_EVENT_DATA_FILE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:218 —
DATA_FILE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
24 - IO: DataFileTruncate
DataFileTruncate
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a relation data file to be truncated
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_TRUNCATE at src/backend/storage/smgr/md.c:1329 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:219. The instrumented operation is: Waiting for a relation data file to be truncated. PostgreSQL reports DataFileTruncate around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/smgr/md.c:1329 —
WAIT_EVENT_DATA_FILE_TRUNCATE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:219 —
DATA_FILE_TRUNCATE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
25 - IO: DataFileWrite
DataFileWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write to a relation data file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_DATA_FILE_WRITE at src/backend/storage/aio/aio_io.c:134 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:220. The instrumented operation is: Waiting for a write to a relation data file. PostgreSQL reports DataFileWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/storage/aio/aio_io.c:134 —
WAIT_EVENT_DATA_FILE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:220 —
DATA_FILE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
26 - IO: DsmAllocate
DsmAllocate
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a dynamic shared memory segment to be allocated
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/DSMAllocate (PG 16)
Trigger mechanism
WAIT_EVENT_DSM_ALLOCATE at src/backend/storage/ipc/dsm_impl.c:366 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:604. The instrumented operation is: Waiting for a dynamic shared memory segment to be allocated. PostgreSQL reports DsmAllocate around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/storage/ipc/dsm_impl.c:366 —
WAIT_EVENT_DSM_ALLOCATE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:604 —
DSMAllocate - PostgreSQL 18.6 · src/backend/storage/ipc/dsm_impl.c:366 —
WAIT_EVENT_DSM_ALLOCATE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:221 —
DSM_ALLOCATE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
27 - IO: DsmFillZeroWrite
DsmFillZeroWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting to fill a dynamic shared memory backing file with zeroes
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/DSMFillZeroWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_DSM_FILL_ZERO_WRITE at src/backend/storage/ipc/dsm_impl.c:891 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:607. The instrumented operation is: Waiting to fill a dynamic shared memory backing file with zeroes. PostgreSQL reports DsmFillZeroWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/storage/ipc/dsm_impl.c:891 —
WAIT_EVENT_DSM_FILL_ZERO_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:607 —
DSMFillZeroWrite - PostgreSQL 18.6 · src/backend/storage/ipc/dsm_impl.c:891 —
WAIT_EVENT_DSM_FILL_ZERO_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:222 —
DSM_FILL_ZERO_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
28 - IO: LockFileAddtodatadirRead
LockFileAddtodatadirRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a read while adding a line to the data directory lock file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/LockFileAddToDataDirRead (PG 13-16)
Trigger mechanism
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ at src/backend/utils/init/miscinit.c:1586 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:610. The instrumented operation is: Waiting for a read while adding a line to the data directory lock file. PostgreSQL reports LockFileAddtodatadirRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:610 —
LockFileAddToDataDirRead - PostgreSQL 16.15 · src/backend/utils/init/miscinit.c:1586 —
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:223 —
LOCK_FILE_ADDTODATADIR_READ - PostgreSQL 18.6 · src/backend/utils/init/miscinit.c:1590 —
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
29 - IO: LockFileAddtodatadirSync
LockFileAddtodatadirSync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for data to reach durable storage while adding a line to the data directory lock file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/LockFileAddToDataDirSync (PG 13-16)
Trigger mechanism
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC at src/backend/utils/init/miscinit.c:1663 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:613. The instrumented operation is: Waiting for data to reach durable storage while adding a line to the data directory lock file. PostgreSQL reports LockFileAddtodatadirSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:613 —
LockFileAddToDataDirSync - PostgreSQL 16.15 · src/backend/utils/init/miscinit.c:1663 —
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:224 —
LOCK_FILE_ADDTODATADIR_SYNC - PostgreSQL 18.6 · src/backend/utils/init/miscinit.c:1667 —
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
30 - IO: LockFileAddtodatadirWrite
LockFileAddtodatadirWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a write while adding a line to the data directory lock file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/LockFileAddToDataDirWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE at src/backend/utils/init/miscinit.c:1648 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:616. The instrumented operation is: Waiting for a write while adding a line to the data directory lock file. PostgreSQL reports LockFileAddtodatadirWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:616 —
LockFileAddToDataDirWrite - PostgreSQL 16.15 · src/backend/utils/init/miscinit.c:1648 —
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:225 —
LOCK_FILE_ADDTODATADIR_WRITE - PostgreSQL 18.6 · src/backend/utils/init/miscinit.c:1652 —
WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
31 - IO: LockFileCreateRead
LockFileCreateRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting to read while creating the data directory lock file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOCK_FILE_CREATE_READ at src/backend/utils/init/miscinit.c:1302 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:226. The instrumented operation is: Waiting to read while creating the data directory lock file. PostgreSQL reports LockFileCreateRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:226 —
LOCK_FILE_CREATE_READ - PostgreSQL 18.6 · src/backend/utils/init/miscinit.c:1302 —
WAIT_EVENT_LOCK_FILE_CREATE_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
32 - IO: LockFileCreateSync
LockFileCreateSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for data to reach durable storage while creating the data directory lock file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOCK_FILE_CREATE_SYNC at src/backend/utils/init/miscinit.c:1465 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:227. The instrumented operation is: Waiting for data to reach durable storage while creating the data directory lock file. PostgreSQL reports LockFileCreateSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:227 —
LOCK_FILE_CREATE_SYNC - PostgreSQL 18.6 · src/backend/utils/init/miscinit.c:1465 —
WAIT_EVENT_LOCK_FILE_CREATE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
33 - IO: LockFileCreateWrite
LockFileCreateWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write while creating the data directory lock file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOCK_FILE_CREATE_WRITE at src/backend/utils/init/miscinit.c:1450 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:228. The instrumented operation is: Waiting for a write while creating the data directory lock file. PostgreSQL reports LockFileCreateWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:228 —
LOCK_FILE_CREATE_WRITE - PostgreSQL 18.6 · src/backend/utils/init/miscinit.c:1450 —
WAIT_EVENT_LOCK_FILE_CREATE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
34 - IO: LockFileRecheckdatadirRead
LockFileRecheckdatadirRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a read during recheck of the data directory lock file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/LockFileReCheckDataDirRead (PG 13-16)
Trigger mechanism
WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ at src/backend/utils/init/miscinit.c:1728 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:628. The instrumented operation is: Waiting for a read during recheck of the data directory lock file. PostgreSQL reports LockFileRecheckdatadirRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:628 —
LockFileReCheckDataDirRead - PostgreSQL 16.15 · src/backend/utils/init/miscinit.c:1728 —
WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:229 —
LOCK_FILE_RECHECKDATADIR_READ - PostgreSQL 18.6 · src/backend/utils/init/miscinit.c:1732 —
WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
35 - IO: LogicalChangesRead
LogicalChangesRead
VersionsPG 14
Evidence1 source location(s)
Official description
Waiting for a read from a logical changes file.
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | ✓ | — | — | — | — |
Trigger mechanism
The catalog identity is present, but source audit found no live reporter in 14. Known active ranges: none. The definition location below is retained as negative evidence; this exact release cannot emit the event from a core code path. Evidence: pgsql-hackers confirmation.
Normal or trouble?
- Normal: No live core occurrence is expected on the audited release.
- Investigate: If telemetry shows it, verify the exact patch version, extension origin, and whether the sample is stale or came from a different server.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 14.24 · src/backend/utils/activity/wait_event.c:727 —
LogicalChangesRead
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
36 - IO: LogicalChangesWrite
LogicalChangesWrite
VersionsPG 14
Evidence1 source location(s)
Official description
Waiting for a write to a logical changes file.
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | ✓ | — | — | — | — |
Trigger mechanism
The catalog identity is present, but source audit found no live reporter in 14. Known active ranges: none. The definition location below is retained as negative evidence; this exact release cannot emit the event from a core code path. Evidence: pgsql-hackers confirmation.
Normal or trouble?
- Normal: No live core occurrence is expected on the audited release.
- Investigate: If telemetry shows it, verify the exact patch version, extension origin, and whether the sample is stale or came from a different server.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 14.24 · src/backend/utils/activity/wait_event.c:730 —
LogicalChangesWrite
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
37 - IO: LogicalRewriteCheckpointSync
LogicalRewriteCheckpointSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for logical rewrite mappings to reach durable storage during a checkpoint
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC at src/backend/access/heap/rewriteheap.c:1236 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:230. The instrumented operation is: Waiting for logical rewrite mappings to reach durable storage during a checkpoint. PostgreSQL reports LogicalRewriteCheckpointSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/heap/rewriteheap.c:1236 —
WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:230 —
LOGICAL_REWRITE_CHECKPOINT_SYNC
Related controls and signals
38 - IO: LogicalRewriteMappingSync
LogicalRewriteMappingSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for mapping data to reach durable storage during a logical rewrite
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC at src/backend/access/heap/rewriteheap.c:1131 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:231. The instrumented operation is: Waiting for mapping data to reach durable storage during a logical rewrite. PostgreSQL reports LogicalRewriteMappingSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/heap/rewriteheap.c:1131 —
WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:231 —
LOGICAL_REWRITE_MAPPING_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
39 - IO: LogicalRewriteMappingWrite
LogicalRewriteMappingWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write of mapping data during a logical rewrite
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE at src/backend/access/heap/rewriteheap.c:1114 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:232. The instrumented operation is: Waiting for a write of mapping data during a logical rewrite. PostgreSQL reports LogicalRewriteMappingWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/heap/rewriteheap.c:1114 —
WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:232 —
LOGICAL_REWRITE_MAPPING_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
40 - IO: LogicalRewriteSync
LogicalRewriteSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for logical rewrite mappings to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOGICAL_REWRITE_SYNC at src/backend/access/heap/rewriteheap.c:922 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:233. The instrumented operation is: Waiting for logical rewrite mappings to reach durable storage. PostgreSQL reports LogicalRewriteSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/heap/rewriteheap.c:922 —
WAIT_EVENT_LOGICAL_REWRITE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:233 —
LOGICAL_REWRITE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
41 - IO: LogicalRewriteTruncate
LogicalRewriteTruncate
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for truncate of mapping data during a logical rewrite
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE at src/backend/access/heap/rewriteheap.c:1100 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:234. The instrumented operation is: Waiting for truncate of mapping data during a logical rewrite. PostgreSQL reports LogicalRewriteTruncate around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/heap/rewriteheap.c:1100 —
WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:234 —
LOGICAL_REWRITE_TRUNCATE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
42 - IO: LogicalRewriteWrite
LogicalRewriteWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write of logical rewrite mappings
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_LOGICAL_REWRITE_WRITE at src/backend/access/heap/rewriteheap.c:881 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:235. The instrumented operation is: Waiting for a write of logical rewrite mappings. PostgreSQL reports LogicalRewriteWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/heap/rewriteheap.c:881 —
WAIT_EVENT_LOGICAL_REWRITE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:235 —
LOGICAL_REWRITE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
43 - IO: LogicalSubxactRead
LogicalSubxactRead
VersionsPG 14
Evidence1 source location(s)
Official description
Waiting for a read from a logical subxact file.
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | ✓ | — | — | — | — |
Trigger mechanism
The catalog identity is present, but source audit found no live reporter in 14. Known active ranges: none. The definition location below is retained as negative evidence; this exact release cannot emit the event from a core code path. Evidence: pgsql-hackers confirmation.
Normal or trouble?
- Normal: No live core occurrence is expected on the audited release.
- Investigate: If telemetry shows it, verify the exact patch version, extension origin, and whether the sample is stale or came from a different server.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 14.24 · src/backend/utils/activity/wait_event.c:733 —
LogicalSubxactRead
Related controls and signals
44 - IO: LogicalSubxactWrite
LogicalSubxactWrite
VersionsPG 14
Evidence1 source location(s)
Official description
Waiting for a write to a logical subxact file.
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | ✓ | — | — | — | — |
Trigger mechanism
The catalog identity is present, but source audit found no live reporter in 14. Known active ranges: none. The definition location below is retained as negative evidence; this exact release cannot emit the event from a core code path. Evidence: pgsql-hackers confirmation.
Normal or trouble?
- Normal: No live core occurrence is expected on the audited release.
- Investigate: If telemetry shows it, verify the exact patch version, extension origin, and whether the sample is stale or came from a different server.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 14.24 · src/backend/utils/activity/wait_event.c:736 —
LogicalSubxactWrite
Related controls and signals
45 - IO: RelationMapRead
RelationMapRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read of the relation map file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_RELATION_MAP_READ at src/backend/utils/cache/relmapper.c:822 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:236. The instrumented operation is: Waiting for a read of the relation map file. PostgreSQL reports RelationMapRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:236 —
RELATION_MAP_READ - PostgreSQL 18.6 · src/backend/utils/cache/relmapper.c:822 —
WAIT_EVENT_RELATION_MAP_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
46 - IO: RelationMapReplace
RelationMapReplace
VersionsPG 16-18
Evidence2 source location(s)
Official description
Waiting for durable replacement of a relation map file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_RELATION_MAP_REPLACE at src/backend/utils/cache/relmapper.c:988 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:237. The instrumented operation is: Waiting for durable replacement of a relation map file. PostgreSQL reports RelationMapReplace around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:237 —
RELATION_MAP_REPLACE - PostgreSQL 18.6 · src/backend/utils/cache/relmapper.c:988 —
WAIT_EVENT_RELATION_MAP_REPLACE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
47 - IO: RelationMapSync
RelationMapSync
VersionsPG 13-15
Evidence2 source location(s)
Official description
Waiting for the relation map file to reach durable storage.
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | — | — | — |
Trigger mechanism
WAIT_EVENT_RELATION_MAP_SYNC at src/backend/utils/cache/relmapper.c:957 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:637. The instrumented operation is: Waiting for the relation map file to reach durable storage. PostgreSQL reports RelationMapSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 15.19 · src/backend/utils/activity/wait_event.c:637 —
RelationMapSync - PostgreSQL 15.19 · src/backend/utils/cache/relmapper.c:957 —
WAIT_EVENT_RELATION_MAP_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
48 - IO: RelationMapWrite
RelationMapWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write to the relation map file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_RELATION_MAP_WRITE at src/backend/utils/cache/relmapper.c:939 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:238. The instrumented operation is: Waiting for a write to the relation map file. PostgreSQL reports RelationMapWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:238 —
RELATION_MAP_WRITE - PostgreSQL 18.6 · src/backend/utils/cache/relmapper.c:939 —
WAIT_EVENT_RELATION_MAP_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
49 - IO: ReorderBufferRead
ReorderBufferRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read during reorder buffer management
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_REORDER_BUFFER_READ at src/backend/replication/logical/reorderbuffer.c:4609 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:239. The instrumented operation is: Waiting for a read during reorder buffer management. PostgreSQL reports ReorderBufferRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/logical/reorderbuffer.c:4609 —
WAIT_EVENT_REORDER_BUFFER_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:239 —
REORDER_BUFFER_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
50 - IO: ReorderBufferWrite
ReorderBufferWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write during reorder buffer management
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_REORDER_BUFFER_WRITE at src/backend/replication/logical/reorderbuffer.c:4265 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:240. The instrumented operation is: Waiting for a write during reorder buffer management. PostgreSQL reports ReorderBufferWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/logical/reorderbuffer.c:4265 —
WAIT_EVENT_REORDER_BUFFER_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:240 —
REORDER_BUFFER_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
51 - IO: ReorderLogicalMappingRead
ReorderLogicalMappingRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read of a logical mapping during reorder buffer management
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ at src/backend/replication/logical/reorderbuffer.c:5383 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:241. The instrumented operation is: Waiting for a read of a logical mapping during reorder buffer management. PostgreSQL reports ReorderLogicalMappingRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/logical/reorderbuffer.c:5383 —
WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:241 —
REORDER_LOGICAL_MAPPING_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
52 - IO: ReplicationSlotRead
ReplicationSlotRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read from a replication slot control file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_REPLICATION_SLOT_READ at src/backend/replication/slot.c:2540 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:242. The instrumented operation is: Waiting for a read from a replication slot control file. PostgreSQL reports ReplicationSlotRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/slot.c:2540 —
WAIT_EVENT_REPLICATION_SLOT_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:242 —
REPLICATION_SLOT_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
53 - IO: ReplicationSlotRestoreSync
ReplicationSlotRestoreSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a replication slot control file to reach durable storage while restoring it to memory
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC at src/backend/replication/slot.c:2526 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:243. The instrumented operation is: Waiting for a replication slot control file to reach durable storage while restoring it to memory. PostgreSQL reports ReplicationSlotRestoreSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/slot.c:2526 —
WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:243 —
REPLICATION_SLOT_RESTORE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
54 - IO: ReplicationSlotSync
ReplicationSlotSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a replication slot control file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_REPLICATION_SLOT_SYNC at src/backend/replication/slot.c:2405 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:244. The instrumented operation is: Waiting for a replication slot control file to reach durable storage. PostgreSQL reports ReplicationSlotSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/slot.c:2405 —
WAIT_EVENT_REPLICATION_SLOT_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:244 —
REPLICATION_SLOT_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
55 - IO: ReplicationSlotWrite
ReplicationSlotWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write to a replication slot control file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_REPLICATION_SLOT_WRITE at src/backend/replication/slot.c:2384 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:245. The instrumented operation is: Waiting for a write to a replication slot control file. PostgreSQL reports ReplicationSlotWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/slot.c:2384 —
WAIT_EVENT_REPLICATION_SLOT_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:245 —
REPLICATION_SLOT_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
56 - IO: SlruFlushSync
SlruFlushSync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for SLRU data to reach durable storage during a checkpoint or database shutdown
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/SLRUFlushSync (PG 13-16)
Trigger mechanism
WAIT_EVENT_SLRU_FLUSH_SYNC at src/backend/access/transam/slru.c:1606 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:679. The instrumented operation is: Waiting for SLRU data to reach durable storage during a checkpoint or database shutdown. PostgreSQL reports SlruFlushSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/slru.c:1606 —
WAIT_EVENT_SLRU_FLUSH_SYNC - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:679 —
SLRUFlushSync - PostgreSQL 18.6 · src/backend/access/transam/slru.c:1843 —
WAIT_EVENT_SLRU_FLUSH_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:246 —
SLRU_FLUSH_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
57 - IO: SlruRead
SlruRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a read of an SLRU page
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/SLRURead (PG 13-16)
Trigger mechanism
WAIT_EVENT_SLRU_READ at src/backend/access/transam/slru.c:721 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:682. The instrumented operation is: Waiting for a read of an SLRU page. PostgreSQL reports SlruRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/slru.c:721 —
WAIT_EVENT_SLRU_READ - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:682 —
SLRURead - PostgreSQL 18.6 · src/backend/access/transam/slru.c:840 —
WAIT_EVENT_SLRU_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:247 —
SLRU_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
58 - IO: SlruSync
SlruSync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for SLRU data to reach durable storage following a page write
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/SLRUSync (PG 13-16)
Trigger mechanism
WAIT_EVENT_SLRU_SYNC at src/backend/access/transam/slru.c:900 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:685. The instrumented operation is: Waiting for SLRU data to reach durable storage following a page write. PostgreSQL reports SlruSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/slru.c:900 —
WAIT_EVENT_SLRU_SYNC - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:685 —
SLRUSync - PostgreSQL 18.6 · src/backend/access/transam/slru.c:1016 —
WAIT_EVENT_SLRU_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:248 —
SLRU_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
59 - IO: SlruWrite
SlruWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a write of an SLRU page
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/SLRUWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_SLRU_WRITE at src/backend/access/transam/slru.c:876 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:688. The instrumented operation is: Waiting for a write of an SLRU page. PostgreSQL reports SlruWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/slru.c:876 —
WAIT_EVENT_SLRU_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:688 —
SLRUWrite - PostgreSQL 18.6 · src/backend/access/transam/slru.c:992 —
WAIT_EVENT_SLRU_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:249 —
SLRU_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
60 - IO: SnapbuildRead
SnapbuildRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read of a serialized historical catalog snapshot
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_SNAPBUILD_READ at src/backend/replication/logical/snapbuild.c:1937 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:250. The instrumented operation is: Waiting for a read of a serialized historical catalog snapshot. PostgreSQL reports SnapbuildRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/logical/snapbuild.c:1937 —
WAIT_EVENT_SNAPBUILD_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:250 —
SNAPBUILD_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
61 - IO: SnapbuildSync
SnapbuildSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a serialized historical catalog snapshot to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_SNAPBUILD_SYNC at src/backend/replication/logical/snapbuild.c:1680 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:251. The instrumented operation is: Waiting for a serialized historical catalog snapshot to reach durable storage. PostgreSQL reports SnapbuildSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/logical/snapbuild.c:1680 —
WAIT_EVENT_SNAPBUILD_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:251 —
SNAPBUILD_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
62 - IO: SnapbuildWrite
SnapbuildWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write of a serialized historical catalog snapshot
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_SNAPBUILD_WRITE at src/backend/replication/logical/snapbuild.c:1654 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:252. The instrumented operation is: Waiting for a write of a serialized historical catalog snapshot. PostgreSQL reports SnapbuildWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/replication/logical/snapbuild.c:1654 —
WAIT_EVENT_SNAPBUILD_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:252 —
SNAPBUILD_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
63 - IO: TimelineHistoryFileSync
TimelineHistoryFileSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a timeline history file received via streaming replication to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC at src/backend/access/transam/timeline.c:502 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:253. The instrumented operation is: Waiting for a timeline history file received via streaming replication to reach durable storage. PostgreSQL reports TimelineHistoryFileSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/timeline.c:502 —
WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:253 —
TIMELINE_HISTORY_FILE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
64 - IO: TimelineHistoryFileWrite
TimelineHistoryFileWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write of a timeline history file received via streaming replication
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE at src/backend/access/transam/timeline.c:484 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:254. The instrumented operation is: Waiting for a write of a timeline history file received via streaming replication. PostgreSQL reports TimelineHistoryFileWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/timeline.c:484 —
WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:254 —
TIMELINE_HISTORY_FILE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
65 - IO: TimelineHistoryRead
TimelineHistoryRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read of a timeline history file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TIMELINE_HISTORY_READ at src/backend/access/transam/timeline.c:135 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:255. The instrumented operation is: Waiting for a read of a timeline history file. PostgreSQL reports TimelineHistoryRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/timeline.c:135 —
WAIT_EVENT_TIMELINE_HISTORY_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:255 —
TIMELINE_HISTORY_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
66 - IO: TimelineHistorySync
TimelineHistorySync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a newly created timeline history file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TIMELINE_HISTORY_SYNC at src/backend/access/transam/timeline.c:428 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:256. The instrumented operation is: Waiting for a newly created timeline history file to reach durable storage. PostgreSQL reports TimelineHistorySync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/timeline.c:428 —
WAIT_EVENT_TIMELINE_HISTORY_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:256 —
TIMELINE_HISTORY_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
67 - IO: TimelineHistoryWrite
TimelineHistoryWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write of a newly created timeline history file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TIMELINE_HISTORY_WRITE at src/backend/access/transam/timeline.c:366 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:257. The instrumented operation is: Waiting for a write of a newly created timeline history file. PostgreSQL reports TimelineHistoryWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/timeline.c:366 —
WAIT_EVENT_TIMELINE_HISTORY_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:257 —
TIMELINE_HISTORY_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
68 - IO: TwophaseFileRead
TwophaseFileRead
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a read of a two phase state file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TWOPHASE_FILE_READ at src/backend/access/transam/twophase.c:1347 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:258. The instrumented operation is: Waiting for a read of a two phase state file. PostgreSQL reports TwophaseFileRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/twophase.c:1347 —
WAIT_EVENT_TWOPHASE_FILE_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:258 —
TWOPHASE_FILE_READ
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
69 - IO: TwophaseFileSync
TwophaseFileSync
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a two phase state file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TWOPHASE_FILE_SYNC at src/backend/access/transam/twophase.c:1774 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:259. The instrumented operation is: Waiting for a two phase state file to reach durable storage. PostgreSQL reports TwophaseFileSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/twophase.c:1774 —
WAIT_EVENT_TWOPHASE_FILE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:259 —
TWOPHASE_FILE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
70 - IO: TwophaseFileWrite
TwophaseFileWrite
VersionsPG 13-18
Evidence2 source location(s)
Official description
Waiting for a write of a two phase state file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_TWOPHASE_FILE_WRITE at src/backend/access/transam/twophase.c:1749 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:260. The instrumented operation is: Waiting for a write of a two phase state file. PostgreSQL reports TwophaseFileWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/access/transam/twophase.c:1749 —
WAIT_EVENT_TWOPHASE_FILE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:260 —
TWOPHASE_FILE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
71 - IO: VersionFileSync
VersionFileSync
VersionsPG 15-18
Evidence2 source location(s)
Official description
Waiting for the version file to reach durable storage while creating a database
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_VERSION_FILE_SYNC at src/backend/commands/dbcommands.c:511 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:261. The instrumented operation is: Waiting for the version file to reach durable storage while creating a database. PostgreSQL reports VersionFileSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/commands/dbcommands.c:511 —
WAIT_EVENT_VERSION_FILE_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:261 —
VERSION_FILE_SYNC
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
72 - IO: VersionFileWrite
VersionFileWrite
VersionsPG 15-18
Evidence2 source location(s)
Official description
Waiting for the version file to be written while creating a database
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | ✓ | ✓ | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_VERSION_FILE_WRITE at src/backend/commands/dbcommands.c:498 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:262. The instrumented operation is: Waiting for the version file to be written while creating a database. PostgreSQL reports VersionFileWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/commands/dbcommands.c:498 —
WAIT_EVENT_VERSION_FILE_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:262 —
VERSION_FILE_WRITE
Related controls and signals
- GUCs: None directly.
- Metrics: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]
73 - IO: WalBootstrapSync
WalBootstrapSync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for WAL to reach durable storage during bootstrapping
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALBootstrapSync (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_BOOTSTRAP_SYNC at src/backend/access/transam/xlog.c:4776 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:733. The instrumented operation is: Waiting for WAL to reach durable storage during bootstrapping. PostgreSQL reports WalBootstrapSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:4776 —
WAIT_EVENT_WAL_BOOTSTRAP_SYNC - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:733 —
WALBootstrapSync - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:5198 —
WAIT_EVENT_WAL_BOOTSTRAP_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:264 —
WAL_BOOTSTRAP_SYNC
Related controls and signals
74 - IO: WalBootstrapWrite
WalBootstrapWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a write of a WAL page during bootstrapping
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALBootstrapWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_BOOTSTRAP_WRITE at src/backend/access/transam/xlog.c:4764 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:736. The instrumented operation is: Waiting for a write of a WAL page during bootstrapping. PostgreSQL reports WalBootstrapWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:4764 —
WAIT_EVENT_WAL_BOOTSTRAP_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:736 —
WALBootstrapWrite - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:5186 —
WAIT_EVENT_WAL_BOOTSTRAP_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:265 —
WAL_BOOTSTRAP_WRITE
Related controls and signals
75 - IO: WalCopyRead
WalCopyRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a read when creating a new WAL segment by copying an existing one
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALCopyRead (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_COPY_READ at src/backend/access/transam/xlog.c:3190 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:739. The instrumented operation is: Waiting for a read when creating a new WAL segment by copying an existing one. PostgreSQL reports WalCopyRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:3190 —
WAIT_EVENT_WAL_COPY_READ - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:739 —
WALCopyRead - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:3471 —
WAIT_EVENT_WAL_COPY_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:266 —
WAL_COPY_READ
Related controls and signals
76 - IO: WalCopySync
WalCopySync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a new WAL segment created by copying an existing one to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALCopySync (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_COPY_SYNC at src/backend/access/transam/xlog.c:3227 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:742. The instrumented operation is: Waiting for a new WAL segment created by copying an existing one to reach durable storage. PostgreSQL reports WalCopySync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:3227 —
WAIT_EVENT_WAL_COPY_SYNC - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:742 —
WALCopySync - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:3508 —
WAIT_EVENT_WAL_COPY_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:267 —
WAL_COPY_SYNC
Related controls and signals
77 - IO: WalCopyWrite
WalCopyWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a write when creating a new WAL segment by copying an existing one
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALCopyWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_COPY_WRITE at src/backend/access/transam/xlog.c:3208 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:745. The instrumented operation is: Waiting for a write when creating a new WAL segment by copying an existing one. PostgreSQL reports WalCopyWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:3208 —
WAIT_EVENT_WAL_COPY_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:745 —
WALCopyWrite - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:3489 —
WAIT_EVENT_WAL_COPY_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:268 —
WAL_COPY_WRITE
Related controls and signals
78 - IO: WalInitSync
WalInitSync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a newly initialized WAL file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALInitSync (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_INIT_SYNC at src/backend/access/transam/xlog.c:3028 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:748. The instrumented operation is: Waiting for a newly initialized WAL file to reach durable storage. PostgreSQL reports WalInitSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:3028 —
WAIT_EVENT_WAL_INIT_SYNC - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:748 —
WALInitSync - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:3306 —
WAIT_EVENT_WAL_INIT_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:269 —
WAL_INIT_SYNC
Related controls and signals
79 - IO: WalInitWrite
WalInitWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a write while initializing a new WAL file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALInitWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_INIT_WRITE at src/backend/access/transam/xlog.c:2977 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:751. The instrumented operation is: Waiting for a write while initializing a new WAL file. PostgreSQL reports WalInitWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:2977 —
WAIT_EVENT_WAL_INIT_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:751 —
WALInitWrite - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:3244 —
WAIT_EVENT_WAL_INIT_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:270 —
WAL_INIT_WRITE
Related controls and signals
80 - IO: WalRead
WalRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a read from a WAL file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALRead (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_READ at src/backend/access/transam/xlogreader.c:1570 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:754. The instrumented operation is: Waiting for a read from a WAL file. PostgreSQL reports WalRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlogreader.c:1570 —
WAIT_EVENT_WAL_READ - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:754 —
WALRead - PostgreSQL 18.6 · src/backend/access/transam/xlogreader.c:1572 —
WAIT_EVENT_WAL_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:271 —
WAL_READ
Related controls and signals
81 - IO: WalSummaryRead
WalSummaryRead
VersionsPG 17-18
Evidence2 source location(s)
Official description
Waiting for a read from a WAL summary file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_WAL_SUMMARY_READ at src/backend/backup/walsummary.c:279 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:272. The instrumented operation is: Waiting for a read from a WAL summary file. PostgreSQL reports WalSummaryRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/backup/walsummary.c:279 —
WAIT_EVENT_WAL_SUMMARY_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:272 —
WAL_SUMMARY_READ
Related controls and signals
82 - IO: WalSummaryWrite
WalSummaryWrite
VersionsPG 17-18
Evidence2 source location(s)
Official description
Waiting for a write to a WAL summary file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Trigger mechanism
WAIT_EVENT_WAL_SUMMARY_WRITE at src/backend/backup/walsummary.c:300 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event_names.txt:273. The instrumented operation is: Waiting for a write to a WAL summary file. PostgreSQL reports WalSummaryWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 18.6 · src/backend/backup/walsummary.c:300 —
WAIT_EVENT_WAL_SUMMARY_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:273 —
WAL_SUMMARY_WRITE
Related controls and signals
83 - IO: WalSync
WalSync
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a WAL file to reach durable storage
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALSync (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_SYNC at src/backend/access/transam/xlog.c:8303 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:757. The instrumented operation is: Waiting for a WAL file to reach durable storage. PostgreSQL reports WalSync around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:8303 —
WAIT_EVENT_WAL_SYNC - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:757 —
WALSync - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:8767 —
WAIT_EVENT_WAL_SYNC - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:274 —
WAL_SYNC
Related controls and signals
84 - IO: WalSyncMethodAssign
WalSyncMethodAssign
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for data to reach durable storage while assigning a new WAL sync method
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALSyncMethodAssign (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN at src/backend/access/transam/xlog.c:8251 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:760. The instrumented operation is: Waiting for data to reach durable storage while assigning a new WAL sync method. PostgreSQL reports WalSyncMethodAssign around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:8251 —
WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:760 —
WALSyncMethodAssign - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:8716 —
WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:275 —
WAL_SYNC_METHOD_ASSIGN
Related controls and signals
85 - IO: WalWrite
WalWrite
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a write to a WAL file
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALWrite (PG 13-16)
Trigger mechanism
WAIT_EVENT_WAL_WRITE at src/backend/access/transam/xlog.c:2200 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:763. The instrumented operation is: Waiting for a write to a WAL file. PostgreSQL reports WalWrite around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/access/transam/xlog.c:2200 —
WAIT_EVENT_WAL_WRITE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:763 —
WALWrite - PostgreSQL 18.6 · src/backend/access/transam/xlog.c:2433 —
WAIT_EVENT_WAL_WRITE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:276 —
WAL_WRITE
Related controls and signals
86 - IO: WalsenderTimelineHistoryRead
WalsenderTimelineHistoryRead
VersionsPG 17-18
Evidence4 source location(s)
Official description
Waiting for a read from a timeline history file during a walsender timeline command
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
Earlier names: IO/WALSenderTimelineHistoryRead (PG 13-16)
Trigger mechanism
WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ at src/backend/replication/walsender.c:654 is the grep-verified reporting path. The public identity/resource is mapped at src/backend/utils/activity/wait_event.c:730. The instrumented operation is: Waiting for a read from a timeline history file during a walsender timeline command. PostgreSQL reports WalsenderTimelineHistoryRead around the instrumented file or asynchronous-I/O operation named by this event. The backend resumes after the kernel, storage stack, or I/O worker completes that step.
Normal or trouble?
- Normal: The wait is normal when the workload is expected to perform this read, write, sync, allocation, or completion operation at the observed rate.
- Investigate: Investigate when it persists with foreground latency, many concurrent waiters, storage tail latency, throttling, or errors.
Diagnostic SQL
Response
- Confirm the workload phase should touch this file class.
- Correlate with pg_stat_io where available and per-device latency.
- Fix the access path, burst shape, or affected storage tier before tuning unrelated memory settings.
Source evidence
- PostgreSQL 16.15 · src/backend/replication/walsender.c:654 —
WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:730 —
WALSenderTimelineHistoryRead - PostgreSQL 18.6 · src/backend/replication/walsender.c:637 —
WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:263 —
WALSENDER_TIMELINE_HISTORY_READ