IO: CopyFileWrite
等待在文件复制操作期间写入数据。
PostgreSQL 等待事件档案
类别IO
事件
CopyFileWrite
版本PG 13-18
证据2 个源码位置
官方描述译文
等待在文件复制操作期间写入数据。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_COPY_FILE_WRITE 位于 src/backend/storage/file/copydir.c:205,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:212。探针覆盖的操作是:等待在文件复制操作期间写入数据。PostgreSQL 在 CopyFileWrite 所表示的文件或异步 I/O 操作周围报告此事件;内核、存储栈或 I/O worker 完成该步骤后,后端继续执行。
正常还是麻烦?
- 正常: 当负载本来就应以当前速率执行对应的读取、写入、同步、分配或完成操作时,这项等待正常。
- 需要调查: 若它持续存在并伴随前台延迟、大量并发等待者、存储长尾延迟、限速或错误,应当调查。
诊断 SQL
正在等待 IO/CopyFileWrite 的会话
当前 IO 等待分布
这些会话的锁与关系上下文
处置建议
- 确认当前负载阶段本来就应访问这类文件。
- 在可用版本上关联 pg_stat_io 与具体设备延迟。
- 先修复访问路径、突发形状或受影响存储层,再调整无关的内存参数。
源码证据
- 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
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share] · [metric:io_read_time] · [metric:io_write_time]