↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / SQL 状态码 / Class 08 连接异常

08000 connection_exception

连接异常

ERROR 源码确认 参考 未实测

类别
Class 08 连接异常
严重等级
ERROR
条件名
connection_exception
宏名称
ERRCODE_CONNECTION_EXCEPTION
最早已知存在
7.4
状态
有效

版本覆盖

版本条依据已采样构建显示;灰色版本可能尚未采样,悬停可查看。手册链接随版本选择,源码和运行证据保持原核验构建。

速览

SQLSTATE 08000 是 Class 08 中的 connection_exception。连接异常是一个宽泛的连接管理条件。固定 PostgreSQL 路径中,postgres_fdw 会在中止清理失败、外部服务器连接不可再用时使用它;单纯的客户端拒绝连接不足以证明此码。

含义

连接异常是一个宽泛的连接管理条件。固定 PostgreSQL 路径中,postgres_fdw 会在中止清理失败、外部服务器连接不可再用时使用它;单纯的客户端拒绝连接不足以证明此码。

诊断

检查服务器日志、外部服务器名、后端 PID、事务结果和 FDW 清理路径。将报文与 08001(无法建立连接)和 08006(已有连接失败)区分;客户端库可能返回另一种异常,甚至没有 SQLSTATE。

处理

修复外部连接或清理条件,按具体路径结束失败事务;只有确认远端结果后,才重试完整且安全的业务单元。不要把普通网络异常改标为 08000。

可复现案例

在一次性实例上执行过的场景。

source_boundary PG 10 / 18

前置条件

  • A runner-owned disposable target is provisioned only if a source-boundary smoke run is requested.

触发

No artificial SQL trigger is executed; this record preserves the fixed source/definition boundary.

处置

Use the concrete source path or component-specific documentation when it applies.

清理

Drop the case schema with an owner connection.

报文

固定的 postgres_fdw 分支以 ERROR 发出主报文 connection to server "%s" cannot be used due to abort cleanup failure,外部服务器名是动态值。这个源码变体比普通客户端 socket 拒绝更具体。

报文模板

源码里的格式串,不是某一次运行的输出。%s 之类是占位符,实际报文会填入对象名与取值。适用范围一栏是核验时留下的原始英文记录,未经翻译。

主消息 connection to server "%s" cannot be used due to abort cleanup failure

来源: 来源:contrib/postgres_fdw/connection.c @ REL_18_6 · 来源:contrib/postgres_fdw/connection.c @ REL_10_23

适用范围:The foreign server name is dynamic; this fixed postgres_fdw branch is not a generic client socket refusal.

代表案例

本页没有选定的自然 SQL 运行。结构化证据记录的是源码或定义边界;客户端 RAISE 不能代表服务器机制。

版本

上面的生成事实表记录锁定的目录快照和最早观察到的定义。本页没有选定的自然 SQL 运行;固定的 REL_18_6/REL_10_23 源码边界不能当作实测结果,也不能据此推断所有中间版本的行为。

来源

证据

断言

每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。

同类 SQL 状态码

状态码 条件名 宏名称 严重等级 版本
Class 08 连接异常 Connection Exception 7 个 ↗
08000 connection_exception ERRCODE_CONNECTION_EXCEPTION ERROR 7.4 起已知
连接管理异常的通用条件,如 FDW 连接不可用。 有效
08001 sqlclient_unable_to_establish_sqlconnection ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION ERROR 7.4 起已知
无法建立到目标服务器的新连接。 有效
08003 connection_does_not_exist ERRCODE_CONNECTION_DOES_NOT_EXIST ERROR 7.4 起已知
指定名称的连接句柄在会话中不存在。 有效
08004 sqlserver_rejected_establishment_of_sqlconnection ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION ERROR 7.4 起已知
服务器拒绝建立 SQL 连接。 有效
08006 connection_failure ERRCODE_CONNECTION_FAILURE ERROR 7.4 起已知
与服务器的连接在会话中途失败。 有效
08007 transaction_resolution_unknown ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN ERROR 7.4 起已知
连接中断导致事务提交结果未知。 有效
08P01 protocol_violation ERRCODE_PROTOCOL_VIOLATION ERROR 7.4 起已知
前后端消息违反线路协议,通常是 FATAL。 有效