这是本节的多页打印视图。 .
Activity 等待
- 1: Activity: ArchiverMain
- 2: Activity: AutovacuumMain
- 3: Activity: BgwriterHibernate
- 4: Activity: BgwriterMain
- 5: Activity: CheckpointerMain
- 6: Activity: CheckpointerShutdown
- 7: Activity: IoWorkerMain
- 8: Activity: LogicalApplyMain
- 9: Activity: LogicalLauncherMain
- 10: Activity: LogicalParallelApplyMain
- 11: Activity: PgStatMain
- 12: Activity: RecoveryWalStream
- 13: Activity: ReplicationSlotsyncMain
- 14: Activity: ReplicationSlotsyncShutdown
- 15: Activity: SysloggerMain
- 16: Activity: WalReceiverMain
- 17: Activity: WalSenderMain
- 18: Activity: WalSummarizerWal
- 19: Activity: WalWriterMain
Activity 多数时候只是健康后台进程空闲时的声音。Archiver、checkpointer、WAL writer、autovacuum launcher、复制 worker 等进程在主循环中等待时会报告各自的名称。
按 backend type 解释
这些事件不应进入前台“等待会话比例”的分母。应把事件与 backend_type 对照,并询问该进程此刻是否本来就该有工作。
- 正常: 一个匹配的后台进程在文档说明的主循环中等待。
- 关注: 事件出现在错误的后端类型、进程缺失,或工作队列增长但它仍空闲。
- 紧急: 必需的后台进度停止——归档积压、不再产生检查点、复制不推进,或关闭无法完成。
值得先认出的事件
| 事件 | 预期进程 |
|---|---|
| AutovacuumMain | 调度周期之间的 autovacuum launcher |
| CheckpointerMain | 等待工作的 checkpointer |
| WalWriterMain | WAL writer 主循环 |
| ArchiverMain | 等待完整 WAL 段的 archiver |
| WalReceiverMain | WAL receiver 主循环 |
| RecoveryWalStream | startup 进程等待流式 WAL |
| IoWorkerMain | PG18 异步 I/O worker 等待工作 |
常见误读
- Activity 在所有后端中占比很高,可能只说明集群很空闲。
- 空闲的 checkpointer 不表示检查点被禁用。
- 正常的等待名称并不能证明进度正常;还要检查队列、积压与时间戳。
- 缺少本应存在的后台进程,通常比看到它的 Activity 等待更重要。
1 - Activity: ArchiverMain
ArchiverMain
版本PG 13-18
证据2 个源码位置
官方描述译文
在 archiver 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_ARCHIVER_MAIN 位于 src/backend/postmaster/pgarch.c:362,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:54。探针覆盖的操作是:在 archiver 进程的主循环中等待。ArchiverMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/postmaster/pgarch.c:362 —
WAIT_EVENT_ARCHIVER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:54 —
ARCHIVER_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
2 - Activity: AutovacuumMain
AutovacuumMain
版本PG 17-18
证据4 个源码位置
官方描述译文
在 autovacuum launcher 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
历史名称:Activity/AutoVacuumMain (PG 13-16)
触发机制
WAIT_EVENT_AUTOVACUUM_MAIN 位于 src/backend/postmaster/autovacuum.c:667,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event.c:216。探针覆盖的操作是:在 autovacuum launcher 进程的主循环中等待。AutovacuumMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 16.15 · src/backend/postmaster/autovacuum.c:667 —
WAIT_EVENT_AUTOVACUUM_MAIN - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:216 —
AutoVacuumMain - PostgreSQL 18.6 · src/backend/postmaster/autovacuum.c:595 —
WAIT_EVENT_AUTOVACUUM_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:55 —
AUTOVACUUM_MAIN
关联控制项与信号
3 - Activity: BgwriterHibernate
BgwriterHibernate
版本PG 17-18
证据4 个源码位置
官方描述译文
在后台写入器进程休眠时等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
历史名称:Activity/BgWriterHibernate (PG 13-16)
触发机制
WAIT_EVENT_BGWRITER_HIBERNATE 位于 src/backend/postmaster/bgwriter.c:339,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event.c:219。探针覆盖的操作是:在后台写入器进程休眠时等待。BgwriterHibernate 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 16.15 · src/backend/postmaster/bgwriter.c:339 —
WAIT_EVENT_BGWRITER_HIBERNATE - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:219 —
BgWriterHibernate - PostgreSQL 18.6 · src/backend/postmaster/bgwriter.c:337 —
WAIT_EVENT_BGWRITER_HIBERNATE - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:56 —
BGWRITER_HIBERNATE
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
4 - Activity: BgwriterMain
BgwriterMain
版本PG 17-18
证据4 个源码位置
官方描述译文
在后台写入器进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
历史名称:Activity/BgWriterMain (PG 13-16)
触发机制
WAIT_EVENT_BGWRITER_MAIN 位于 src/backend/postmaster/bgwriter.c:311,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event.c:222。探针覆盖的操作是:在后台写入器进程的主循环中等待。BgwriterMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 16.15 · src/backend/postmaster/bgwriter.c:311 —
WAIT_EVENT_BGWRITER_MAIN - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:222 —
BgWriterMain - PostgreSQL 18.6 · src/backend/postmaster/bgwriter.c:309 —
WAIT_EVENT_BGWRITER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:57 —
BGWRITER_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
5 - Activity: CheckpointerMain
CheckpointerMain
版本PG 13-18
证据2 个源码位置
官方描述译文
在 checkpointer 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_CHECKPOINTER_MAIN 位于 src/backend/postmaster/checkpointer.c:583,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:58。探针覆盖的操作是:在 checkpointer 进程的主循环中等待。CheckpointerMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/postmaster/checkpointer.c:583 —
WAIT_EVENT_CHECKPOINTER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:58 —
CHECKPOINTER_MAIN
关联控制项与信号
6 - Activity: CheckpointerShutdown
CheckpointerShutdown
版本PG 18
证据2 个源码位置
官方描述译文
等待 checkpointer 进程终止。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | — | ✓ |
触发机制
WAIT_EVENT_CHECKPOINTER_SHUTDOWN 位于 src/backend/postmaster/checkpointer.c:631,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:59。探针覆盖的操作是:等待 checkpointer 进程终止。CheckpointerShutdown 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/postmaster/checkpointer.c:631 —
WAIT_EVENT_CHECKPOINTER_SHUTDOWN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:59 —
CHECKPOINTER_SHUTDOWN
关联控制项与信号
7 - Activity: IoWorkerMain
IoWorkerMain
版本PG 18
证据2 个源码位置
官方描述译文
在 I/O worker 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | — | ✓ |
触发机制
WAIT_EVENT_IO_WORKER_MAIN 位于 src/backend/storage/aio/method_worker.c:573,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:60。探针覆盖的操作是:在 I/O worker 进程的主循环中等待。IoWorkerMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/storage/aio/method_worker.c:573 —
WAIT_EVENT_IO_WORKER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:60 —
IO_WORKER_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
8 - Activity: LogicalApplyMain
LogicalApplyMain
版本PG 13-18
证据2 个源码位置
官方描述译文
在逻辑复制 apply 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_LOGICAL_APPLY_MAIN 位于 src/backend/replication/logical/worker.c:3766,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:61。探针覆盖的操作是:在逻辑复制 apply 进程的主循环中等待。LogicalApplyMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/replication/logical/worker.c:3766 —
WAIT_EVENT_LOGICAL_APPLY_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:61 —
LOGICAL_APPLY_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
9 - Activity: LogicalLauncherMain
LogicalLauncherMain
版本PG 13-18
证据2 个源码位置
官方描述译文
在逻辑复制 launcher 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_LOGICAL_LAUNCHER_MAIN 位于 src/backend/replication/logical/launcher.c:1242,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:62。探针覆盖的操作是:在逻辑复制 launcher 进程的主循环中等待。LogicalLauncherMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/replication/logical/launcher.c:1242 —
WAIT_EVENT_LOGICAL_LAUNCHER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:62 —
LOGICAL_LAUNCHER_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
10 - Activity: LogicalParallelApplyMain
LogicalParallelApplyMain
版本PG 16-18
证据2 个源码位置
官方描述译文
在逻辑复制并行 apply 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN 位于 src/backend/replication/logical/applyparallelworker.c:810,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:63。探针覆盖的操作是:在逻辑复制并行 apply 进程的主循环中等待。LogicalParallelApplyMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/replication/logical/applyparallelworker.c:810 —
WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:63 —
LOGICAL_PARALLEL_APPLY_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
11 - Activity: PgStatMain
PgStatMain
版本PG 13-14
证据2 个源码位置
官方描述译文
在统计收集器进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | — | — | — | — |
触发机制
WAIT_EVENT_PGSTAT_MAIN 位于 src/backend/postmaster/pgstat.c:3425,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event.c:234。探针覆盖的操作是:在统计收集器进程的主循环中等待。PgStatMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 14.24 · src/backend/postmaster/pgstat.c:3425 —
WAIT_EVENT_PGSTAT_MAIN - PostgreSQL 14.24 · src/backend/utils/activity/wait_event.c:234 —
PgStatMain
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
12 - Activity: RecoveryWalStream
RecoveryWalStream
版本PG 13-18
证据2 个源码位置
官方描述译文
流式恢复期间,在 startup 进程的主循环中等待 WAL 到达。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_RECOVERY_WAL_STREAM 位于 src/backend/access/transam/xlogrecovery.c:4038,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:64。探针覆盖的操作是:流式恢复期间,在 startup 进程的主循环中等待 WAL 到达。RecoveryWalStream 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/access/transam/xlogrecovery.c:4038 —
WAIT_EVENT_RECOVERY_WAL_STREAM - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:64 —
RECOVERY_WAL_STREAM
关联控制项与信号
13 - Activity: ReplicationSlotsyncMain
ReplicationSlotsyncMain
版本PG 17-18
证据2 个源码位置
官方描述译文
在复制槽同步 worker 的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
触发机制
WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN 位于 src/backend/replication/logical/slotsync.c:1369,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:65。探针覆盖的操作是:在复制槽同步 worker 的主循环中等待。ReplicationSlotsyncMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/replication/logical/slotsync.c:1369 —
WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:65 —
REPLICATION_SLOTSYNC_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
14 - Activity: ReplicationSlotsyncShutdown
ReplicationSlotsyncShutdown
版本PG 17-18
证据2 个源码位置
官方描述译文
等待复制槽同步 worker 停止运行。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
触发机制
WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN 位于 src/backend/replication/logical/slotsync.c:1732,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:66。探针覆盖的操作是:等待复制槽同步 worker 停止运行。ReplicationSlotsyncShutdown 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/replication/logical/slotsync.c:1732 —
WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:66 —
REPLICATION_SLOTSYNC_SHUTDOWN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
15 - Activity: SysloggerMain
SysloggerMain
版本PG 17-18
证据4 个源码位置
官方描述译文
在 syslogger 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
历史名称:Activity/SysLoggerMain (PG 13-16)
触发机制
WAIT_EVENT_SYSLOGGER_MAIN 位于 src/backend/postmaster/syslogger.c:487,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event.c:240。探针覆盖的操作是:在 syslogger 进程的主循环中等待。SysloggerMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 16.15 · src/backend/postmaster/syslogger.c:487 —
WAIT_EVENT_SYSLOGGER_MAIN - PostgreSQL 16.15 · src/backend/utils/activity/wait_event.c:240 —
SysLoggerMain - PostgreSQL 18.6 · src/backend/postmaster/syslogger.c:513 —
WAIT_EVENT_SYSLOGGER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:67 —
SYSLOGGER_MAIN
关联控制项与信号
- GUC: 无直接关联项。
- 指标: [metric:waiting_sessions] · [metric:wait_event_share]
16 - Activity: WalReceiverMain
WalReceiverMain
版本PG 13-18
证据2 个源码位置
官方描述译文
在 WAL receiver 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_WAL_RECEIVER_MAIN 位于 src/backend/replication/walreceiver.c:600,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:68。探针覆盖的操作是:在 WAL receiver 进程的主循环中等待。WalReceiverMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/replication/walreceiver.c:600 —
WAIT_EVENT_WAL_RECEIVER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:68 —
WAL_RECEIVER_MAIN
关联控制项与信号
17 - Activity: WalSenderMain
WalSenderMain
版本PG 13-18
证据2 个源码位置
官方描述译文
在 WAL sender 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_WAL_SENDER_MAIN 位于 src/backend/replication/walsender.c:2963,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:69。探针覆盖的操作是:在 WAL sender 进程的主循环中等待。WalSenderMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/replication/walsender.c:2963 —
WAIT_EVENT_WAL_SENDER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:69 —
WAL_SENDER_MAIN
关联控制项与信号
18 - Activity: WalSummarizerWal
WalSummarizerWal
版本PG 17-18
证据2 个源码位置
官方描述译文
在 WAL summarizer 中等待生成更多 WAL。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| — | — | — | — | ✓ | ✓ |
触发机制
WAIT_EVENT_WAL_SUMMARIZER_WAL 位于 src/backend/postmaster/walsummarizer.c:1798,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:70。探针覆盖的操作是:在 WAL summarizer 中等待生成更多 WAL。WalSummarizerWal 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/postmaster/walsummarizer.c:1798 —
WAIT_EVENT_WAL_SUMMARIZER_WAL - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:70 —
WAL_SUMMARIZER_WAL
关联控制项与信号
19 - Activity: WalWriterMain
WalWriterMain
版本PG 13-18
证据2 个源码位置
官方描述译文
在 WAL writer 进程的主循环中等待。
| PG 13 | PG 14 | PG 15 | PG 16 | PG 17 | PG 18 |
|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
触发机制
WAIT_EVENT_WAL_WRITER_MAIN 位于 src/backend/postmaster/walwriter.c:271,是经 grep 核验的报告路径。公共身份/资源映射位于 src/backend/utils/activity/wait_event_names.txt:71。探针覆盖的操作是:在 WAL writer 进程的主循环中等待。WalWriterMain 后台路径在主循环暂时无事可做、进入 latch wait 前报告此事件;信号、计时器或新工作会唤醒进程并进入下一轮循环。
正常还是麻烦?
- 正常: 对匹配的后台进程而言,这通常是预期空闲。
- 需要调查: 只有工作队列、关闭或故障切换时限没有推进但进程一直停在这里,或事件出现在不匹配的后端类型上时,才需要调查。
诊断 SQL
处置建议
- 先与 backend_type 对照。
- 检查该进程专属的积压与最后进展时间。
- 修复缺失的工作信号或停滞的上游阶段,不要终止正常空闲的 worker。
源码证据
- PostgreSQL 18.6 · src/backend/postmaster/walwriter.c:271 —
WAIT_EVENT_WAL_WRITER_MAIN - PostgreSQL 18.6 · src/backend/utils/activity/wait_event_names.txt:71 —
WAL_WRITER_MAIN