文档 / SQL 状态码 / Class HV 外部数据包装器错误
HV00B fdw_invalid_handle
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.
-
No direct HV00B report group was resolved in the locked PostgreSQL 18.6 core/contrib call scan.
同类 SQL 状态码
| 状态码 | 条件名 | 宏名称 | 严重等级 | 版本 |
|---|---|---|---|---|
| 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 |
| 包装器无法使用该描述符字段标识符。 | 活跃 | |||