跳转到主要内容

Activity 等待

后台进程在主循环中休眠,等待新工作到来。

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 等待更重要。

在 autovacuum launcher 进程的主循环中等待。

在后台写入器进程的主循环中等待。

在 I/O worker 进程的主循环中等待。

在统计收集器进程的主循环中等待。

流式恢复期间,在 startup 进程的主循环中等待 WAL 到达。