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

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

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

HV009 fdw_invalid_use_of_null_pointer

外部数据包装器非法使用空指针

ERROR 仅定义 参考 未实测

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

版本覆盖

速览

HV009 描述 FDW 边界的非法空指针使用。18.6 核心/contrib 调用扫描没有直接报告组,因此没有安全的 SQL 复现或自带报文。

含义

它用于包装器/API 契约中的空指针问题,例如包装器把缺少的描述符、handle 或回调结果当成存在。它不是普通 SQL NULL 值错误,不能从可空列推断。

报文与诊断

没有固定核心报文。保留拥有该指针的回调、handle/描述符、包装器构建版本和服务器日志;实现不同也可能表现为崩溃、XX000 或驱动异常。

诊断

在源码证明前,把它按包装器缺陷或契约/ABI 不匹配处理。检查回调实现和版本,确认远端断开或分配失败是否制造了空状态;不要从 SQL 侧解引用或修复对象。

处理

包装器缺陷存在时不要继续重试。保留日志,在一次性环境隔离外部表/服务器,确认后升级或修补包装器;若进程或连接已终止,按相应组件的恢复流程处理。

版本

目录从 9.1.0 观察到该码,延续到 18.6 与 19 Beta 3;pre-9 定义扫描未观察到,精确实现引入未知。

来源

证据

断言

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

  • HV009 is fdw_invalid_use_of_null_pointer in Class HV.

    核实方式Read the fixed definition row.

    来源src/backend/utils/errcodes.txt

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

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

    不覆盖A wrapper may terminate the connection or process instead of returning this code. 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/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
包装器无法使用该描述符字段标识符。 活跃