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

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

文档 / SQL 状态码 / Class HV 外部数据包装器错误

HV00B fdw_invalid_handle

ERROR 仅定义 参考 未实测

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

版本覆盖

速览

HV00B 表示 FDW 包装器收到的句柄未知、已关闭,或对当前操作无效。对 PostgreSQL 18.6 核心与 contrib 调用的扫描没有解析出直接的 HV00B 报告组,因此句柄类型和具体消息取决于实现。

含义

SQL/MED 中的“句柄”是实现自己管理的引用,不是 PostgreSQL 关系 OID 或 SQL 事务 ID。包装器可能用句柄表示远端连接、游标、回复或执行对象;这些只是可能的例子,本批没有确认具体的发码包装器。仅凭类别定义无法判断具体是哪一种。

消息与诊断

在已检查的 18.6 核心与 contrib 路径中没有解析出直接的消息变体。应记录包装器名称和版本、句柄种类及生命周期、回调阶段、外部服务器和外部表,以及完整诊断信息。远端连接失败也可能使用其他 SQLSTATE。

诊断

沿包装器源码追踪句柄的创建、传递、复用和关闭。检查扫描或修改回调是否晚于连接销毁,回调是否在清理后运行,以及包装器 ABI 是否与服务器匹配。不要把 NULL SQL 值推断为无效句柄。

处理

按包装器 API 修复句柄生命周期,或重新建立包装器管理的连接或对象。如果无法确定写操作是否已经完成,应先查看远端日志再决定是否重试。重复提交相同请求通常不能修复陈旧或已关闭的句柄。

版本

HV00B 从 9.1.0 到 18.6 以及 19 Beta 3 均存在。可用的 9.1 之前定义扫描没有观察到它;这只是历史边界,不是精确的引入版本结论。

来源

证据

断言

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

  • HV00B is fdw_invalid_handle in SQL/MED Class HV.

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

    来源src/backend/utils/errcodes.txt

  • No direct HV00B report group was resolved in the locked PostgreSQL 18.6 core/contrib call scan.

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

    不覆盖The generic FDW API boundary does not identify an emitter for this SQLSTATE. The scan does not cover external wrappers, drivers, remote systems, or user callbacks.

    来源raw/calls/REL_18_6.jsonl · src/include/foreign/fdwapi.h

同类 SQL 状态码

状态码 条件名 宏名称 严重等级 版本
Class HV 外部数据包装器错误 Foreign Data Wrapper Error (SQL/MED) 27 个
HV000 fdw_error ERRCODE_FDW_ERROR ERROR 9.1
外部数据包装器的通用错误,需看包装器诊断。 活跃
HV001 fdw_out_of_memory ERRCODE_FDW_OUT_OF_MEMORY ERROR 9.1
包装器分配内存失败,如获取 libpq 默认选项时。 活跃
HV002 fdw_dynamic_parameter_value_needed ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED ERROR 9.1
包装器缺少必需的参数值,如未给 filename。 活跃
HV004 fdw_invalid_data_type ERRCODE_FDW_INVALID_DATA_TYPE ERROR 9.1
包装器无法使用该数据类型,类型映射不匹配。 活跃
HV005 fdw_column_name_not_found ERRCODE_FDW_COLUMN_NAME_NOT_FOUND ERROR 9.1
包装器在远端或描述符中找不到该外部列名。 活跃
HV006 fdw_invalid_data_type_descriptors ERRCODE_FDW_INVALID_DATA_TYPE_DESCRIPTORS ERROR 9.1
包装器的数据类型描述符不一致或不可用。 活跃
HV007 fdw_invalid_column_name ERRCODE_FDW_INVALID_COLUMN_NAME ERROR 9.1
传给包装器的列名无效,不符合命名规则。 活跃
HV008 fdw_invalid_column_number ERRCODE_FDW_INVALID_COLUMN_NUMBER ERROR 9.1
包装器描述符收到超出范围的列序号。 活跃
HV009 fdw_invalid_use_of_null_pointer ERRCODE_FDW_INVALID_USE_OF_NULL_POINTER ERROR 9.1
包装器边界上非法使用了空指针。 活跃
HV00A fdw_invalid_string_format ERRCODE_FDW_INVALID_STRING_FORMAT ERROR 9.1
包装器无法接受该字符串的格式。 活跃
HV00B fdw_invalid_handle ERRCODE_FDW_INVALID_HANDLE ERROR 9.1
包装器收到未知、已关闭或无效的句柄。 活跃
HV00C fdw_invalid_option_index ERRCODE_FDW_INVALID_OPTION_INDEX ERROR 9.1
包装器处理自身选项数组时收到无效索引。 活跃
HV00D fdw_invalid_option_name ERRCODE_FDW_INVALID_OPTION_NAME ERROR 9.1
当前上下文不接受该外部数据包装器选项名。 活跃
HV00J fdw_option_name_not_found ERRCODE_FDW_OPTION_NAME_NOT_FOUND ERROR 9.1
dblink 连接选项不在接受的选项集合中。 活跃
HV00K fdw_reply_handle ERRCODE_FDW_REPLY_HANDLE ERROR 9.1
包装器读取回复时收到无效的回复句柄。 活跃
HV00L fdw_unable_to_create_execution ERRCODE_FDW_UNABLE_TO_CREATE_EXECUTION ERROR 9.1
包装器准备执行时无法创建执行对象。 活跃
HV00M fdw_unable_to_create_reply ERRCODE_FDW_UNABLE_TO_CREATE_REPLY ERROR 9.1
包装器无法创建存放结果的回复对象。 活跃
HV00N fdw_unable_to_establish_connection ERRCODE_FDW_UNABLE_TO_ESTABLISH_CONNECTION ERROR 9.1
包装器无法与外部数据源建立连接。 活跃
HV00P fdw_no_schemas ERRCODE_FDW_NO_SCHEMAS ERROR 9.1
包装器不支持 IMPORT FOREIGN SCHEMA 导入。 活跃
HV00Q fdw_schema_not_found ERRCODE_FDW_SCHEMA_NOT_FOUND ERROR 9.1
IMPORT FOREIGN SCHEMA 找不到请求的远端模式。 活跃
HV00R fdw_table_not_found ERRCODE_FDW_TABLE_NOT_FOUND ERROR 9.1
包装器在外部数据源中找不到请求的表。 活跃
HV010 fdw_function_sequence_error ERRCODE_FDW_FUNCTION_SEQUENCE_ERROR ERROR 9.1
包装器的函数被以无效的顺序调用。 活跃
HV014 fdw_too_many_handles ERRCODE_FDW_TOO_MANY_HANDLES ERROR 9.1
包装器的句柄数量达到上限。 活跃
HV021 fdw_inconsistent_descriptor_information ERRCODE_FDW_INCONSISTENT_DESCRIPTOR_INFORMATION ERROR 9.1
包装器描述符中的信息互相不一致。 活跃
HV024 fdw_invalid_attribute_value ERRCODE_FDW_INVALID_ATTRIBUTE_VALUE ERROR 9.1
包装器拒绝了某个属性值,取值无效。 活跃
HV090 fdw_invalid_string_length_or_buffer_length ERRCODE_FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH ERROR 9.1
包装器边界的字符串或缓冲区长度无效。 活跃
HV091 fdw_invalid_descriptor_field_identifier ERRCODE_FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER ERROR 9.1
包装器无法使用该描述符字段标识符。 活跃