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

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

百科 / 错误代码 / Class HV 外部数据包装器错误

HV000 fdw_error

外部数据包装器错误

ERROR 仅定义 参考 未实测

类别
Class HV 外部数据包装器错误
严重等级
ERROR
条件名
fdw_error
宏名称
ERRCODE_FDW_ERROR
启用版本
9.1
状态
活跃

版本覆盖

速览

HV000 是 SQL/MED 外部数据包装器(FDW)的通用错误条件,只说明错误位于 FDW 边界,不对应某一种远端故障、回调或重试策略。PostgreSQL 18.6 核心/contrib 扫描没有解析出直接的 ERRCODE_FDW_ERROR 报告组,具体触发方式取决于安装的实现。

包装器回调可以报告自己的 SQLSTATE,访问另一系统的包装器也可能转发远端诊断。解释 HV000 前,应保留完整诊断、外部表、外部服务器、包装器名称与版本以及操作阶段。

含义与范围

18.6 定义为 SQL/MED 专用 Class HV 中的 HV000 E ERRCODE_FDW_ERROR fdw_error。FDW API 提供规划、扫描、修改、导入和解释回调;执行器通过安装的包装器提供的 FDW routine 调用这些回调。条件集中定义而具体实现位于扩展,正是这个边界的结果。

postgres_fdwfile_fdw 和第三方 FDW 实现 FDW 回调 API。dblink 是独立的 contrib 客户端 API,访问另一 PostgreSQL 服务器时也可能使用 Class HV 代码,但它不是 FDW 回调实现。远端 SQLSTATE、libpq 连接错误和包装器本地错误可能出现在一次操作中,但不能互相替代。

报文与诊断

归档的 18.6 调用扫描没有解析出 HV000 的稳定核心报文变体。尽可能保留 C/SQLSTATE、SVMDHWFLR,以及包装器回调或远端命令;不能用“FDW error”概括实际报文。

诊断

先确定阶段:规划、扫描初始化、取数、增删改、提交/回滚、模式导入或 EXPLAIN。再检查外部表和服务器选项、用户映射、包装器版本及远端日志。若是远端 PostgreSQL 包装器,要分别记录远端和本地 SQLSTATE;它们描述的是同一故障的不同层。

本次扫描覆盖 PostgreSQL 18.6 核心及自带 contrib 源码,不覆盖所有外部包装器、驱动、远端数据库或用户回调。

处理

根据已确认的层次修复外部服务器或用户映射、包装器选项/回调契约、远端操作,或安装兼容的包装器版本。只有确认包装器是否已访问远端以及写操作是否可能提交后才重试;单独的 HV000 不能证明这两点。

版本

锁定目录在 9.1.0 已观察到 HV000,并存在于截至 18.6 的正式快照及 19 Beta 3 预览快照。pre-9 扫描的 7.4–8.4 定义文件未观察到它,这只是资料边界,不是精确引入版本。

来源

证据

断言

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

  • HV000 is fdw_error in SQL/MED Class HV.

    核实方式Read the fixed errcodes row and macro.

    不覆盖The condition is a generic FDW boundary and does not identify a remote error or retry outcome.

    来源src/backend/utils/errcodes.txt

  • The core FDW API dispatches installed wrapper callbacks; dblink is a separate contrib client API.

    核实方式Read callback signatures and executor dispatch.

    不覆盖This does not identify behavior of external wrappers. Generic API context and the absent resolved report group do not establish a source path emitting this SQLSTATE.

    来源src/include/foreign/fdwapi.h · src/backend/executor/nodeForeignscan.c

  • The locked 18.6 resolved core/contrib call scan contains no direct HV000 report group.

    核实方式Compare resolved report groups with the fixed macro mapping.

    不覆盖The scan does not cover all external FDWs, drivers, remote systems, or user callbacks. Generic API context and the absent resolved report group do not establish a source path emitting this SQLSTATE.

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

同类错误代码

Class HV 外部数据包装器错误 下的其他成员。