跳转到主要内容

HV007 — fdw_invalid_column_name(外部列名无效)

PostgreSQL SQLSTATE HV007 表示传入 FDW 描述符或回调的列名无效。应检查包装器命名规则和引用方式。

HV007 — fdw_invalid_column_name

速览

HV007 是 FDW 特有的列名无效条件。18.6 核心/contrib 扫描没有直接报告组,因此必须从实际部署确认哪个包装器校验名称及其报文。

字段
SQLSTATE HV007
条件名 fdw_invalid_column_name
状态 有效
已知存在于 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_NAME
别名

含义

传到 FDW API 的名称不符合包装器接受的描述符或远端命名规则。它不同于名称格式正确但找不到的 HV005,也不同于本地 SQL 的 42703

报文与诊断

没有确认的核心报文。记录原始名称、引号和大小写、外部表、回调阶段及包装器版本。

诊断

检查包装器的名称解析和远端标识符规则,比较 pg_attribute.attname、生成的查询标识符和带引号名称。先定位固定版本包装器源码,再决定是否是 PostgreSQL 本身的问题。

处理

使用本地外部表和远端都接受的名称,或配置包装器显式映射;变更元数据后重新构建外部描述符。重复相同语句不会修复名称。

版本

目录从 9.1.0 观察到该码,延续至 18.6 与 19 Beta 3;pre-9 定义扫描未观察到。

HV005 是找不到名称;HV008 是列序号无效;42703 是本地未定义列。

来源

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