这是本节的多页打印视图。 .
扩展等待事件
PostgreSQL 扩展如何注册并报告自定义等待名称,以及它们为什么不进入核心大典。
PostgreSQL 为扩展代码报告的等待保留了 Extension 类型。内置清单中包含通用的 Extension 身份;较新版本还提供 API,让扩展注册人类可读的自定义名称。
本大典的边界
本站枚举 PostgreSQL 13–18 随核心发布的名称,不会试图穷举第三方扩展在运行时创建的名称,因为它取决于已加载二进制,同一版本的不同集群也可能不同。
看到扩展定义的等待时:
- 记录
extversion与扩展包的精确构建版本。 - 在 PG17+ 查询本机
pg_wait_events;它是该实例已注册名称的权威来源。 - 在扩展源码中搜索注册调用,以及配对的
pgstat_report_wait_start()/pgstat_report_wait_end()。 - 用扩展自身 runbook 判断正常/异常;PostgreSQL 核心描述无法替它给出边界。
已安装扩展与扩展等待
说明
pg_wait_events 从 PostgreSQL 17 开始提供。在 PG13–16 上,应从 pg_stat_activity 取得等待名称,再直接检查扩展版本与源码。
给扩展作者的安全契约
在阻塞操作紧前方报告等待,并保证包括错误在内的每条退出路径都会清除状态。名称应足够稳定,能被仪表盘与 runbook 引用;同时说明哪个资源或对端能够推进。没有这种责任契约的自定义名称只是可观测性债务。