选择 打开 改范围 完整检索页

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 源码边界不能当作实测结果,也不能据此推断所有中间版本的行为。

来源

证据

断言

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

  • 08000 is the connection_exception condition in Class 08.

    核实方式Read the fixed errcodes.txt definition and the locked catalogue metadata.

    不覆盖Directory identity does not identify every backend or client path.

    来源src/backend/utils/errcodes.txt

  • The source scan resolves this class code to `postgres_fdw` abort-cleanup handling when a foreign connection cannot be discarded cleanly. It is source-path evidence, not a general socket failure case.

    核实方式Trace the fixed REL_18_6 and REL_10_23 source call scans and the recorded source paths.

    不覆盖This is a bounded source claim; it is not an observed natural SQLSTATE case.

    来源contrib/postgres_fdw/connection.c · contrib/postgres_fdw/connection.c

  • The locked catalogue records 08000 in the listed snapshots; this source-only page compares the fixed REL_18_6 and REL_10_23 postgres_fdw source/call records and has no selected natural runtime.

    核实方式Read the generated facts block and fixed postgres_fdw source/call records; no runtime target summaries are used for this page.

    不覆盖Presence in a definition file is not an exact behavioral introduction, and the fixed source records do not prove every intermediate release or ordinary client connection failure.

    来源src/backend/utils/errcodes.txt · raw/calls/REL_18_6.jsonl · raw/calls/REL_10_23.jsonl

同类 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。 活跃