跳转到主要内容

HV008 — fdw_invalid_column_number(外部列号无效)

PostgreSQL SQLSTATE HV008 表示 FDW 描述符中的列序号无效。应检查本地到远端的列映射。

HV008 — fdw_invalid_column_number

速览

HV008 表示 FDW 描述符或回调收到超出范围的列序号。PostgreSQL 18.6 定义了它,但核心/contrib 扫描没有找到直接报告组或自带报文。

字段
SQLSTATE HV008
条件名 fdw_invalid_column_number
状态 有效
已知存在于 9.1.0
锁定快照 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3
ERRCODE_FDW_INVALID_COLUMN_NUMBER
别名

含义

包装器使用的序号不在当前描述符范围内。这是映射/描述符问题,不代表列名缺失(HV005)或名称不合法(HV007)。

报文与诊断

没有确认的核心报文。保留序号、描述符宽度、本地关系、回调阶段以及包装器/远端元数据版本。

诊断

比较目标列表、pg_attribute.attnum 和包装器远端列数组,检查 dropped 列、投影改写以及规划与执行之间的模式变化;然后查看实际包装器索引描述符的回调。

处理

修正外部表映射或包装器的序号转换后重新规划语句。不要随意删列来掩盖问题,修复取决于错误序号来自哪个描述符边界。

版本

目录从 9.1.0 观察到该码,所有锁定正式快照至 18.6 及 19 Beta 3 均有;pre-9 定义文件未观察到。

HV005 是名称找不到;HV007 是名称无效;HV006 是类型描述符元数据无效。

来源

  • errcodes.txt — 定义,SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba
  • fdwapi.h — 回调边界。
  • 结构化证据 — 有界扫描与来源边界。