↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

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

百科 / SQL 状态码 / Class HV 外部数据包装器错误(SQL/MED)

HV002 fdw_dynamic_parameter_value_needed

需要外部数据包装器动态参数

ERROR 源码确认 参考 未实测

条件名
fdw_dynamic_parameter_value_needed
宏名称
ERRCODE_FDW_DYNAMIC_PARAMETER_VALUE_NEEDED
最早已知存在
9.1.0
状态
有效

手册收录:9.1、9.2、9.3、9.4、9.5、9.6、10、11、12、13、14、15、16、17、18、19、20。此处仅表示同版本手册收录,运行证据仍以原核验构建为准。

版本覆盖

  1. 18
  2. 17
  3. 16
  4. 15
  1. 14
  2. 13
  3. 12
  4. 11
  5. 10
  6. 9.6
  7. 9.5
  8. 9.4
  9. 9.3
  10. 9.2
  11. 9.1
  12. 9.0
  1. 19 rc
  2. 20 dev

版本条依据已采样构建显示;灰色版本可能尚未采样,悬停可查看。手册链接随版本选择,源码和运行证据保持原核验构建。

HV002 — fdw_dynamic_parameter_value_needed

速览 {#at-a-glance}

HV002 表示 FDW 操作所需的参数值不可用。PostgreSQL 18.6 自带的 file_fdw 在外部表选项校验期间发现 filename 和 program 都没有提供时报告此码。

含义与触发路径 {#meaning}

contrib/file_fdw/file_fdw.c 的校验器检查 ForeignTableRelationId 的选项;两者都缺失时以 ERROR 报告 either filename or program is required for file_fdw foreign tables。条件名比这一实现更宽,其他包装器可能在规划、扫描或修改阶段需要不同参数并产生不同报文。

报文与诊断 {#messages}

18.6 固定变体来自 file_fdw_validator 第 345–350 行:ERROR: either filename or program is required for file_fdw foreign tables。固定的 9.1.24 源码使用 ERROR: filename is required for file_fdw foreign tables;两个源码模板都没有 detail 或 hint。这些都是本地选项校验错误,不表示远端程序启动失败。

诊断 {#diagnosis}

检查具体的 CREATE FOREIGN TABLE 或 ALTER FOREIGN TABLE ... OPTIONS 定义及包装器接受的选项名。对 file_fdw,确认有一个可用的源选项且服务器进程能访问其值;其他包装器应查其校验器或回调的参数契约。

处理 {#response}

按包装器要求补上正确拼写和权限的选项,或使用其支持的动态参数机制;随后重新校验。未改变 SQL 就重试不能生成缺失参数。

版本 {#versions}

目录从 9.1.0 观察到 HV002,延续到 18.6 和 19 Beta 3。固定的 9.1.24 file_fdw 源码使用 “filename is required”,固定的 18.6 源码使用 “either filename or program is required”,匹配报文时要看服务器版本;这里不声称具体的变更发布版本。

相关 {#related}

HV00D 是包装器不认识选项名;HV000 是通用包装器失败;HV005 是外部列缺失而非 FDW 选项缺失。

来源 {#sources}

  • errcodes.txt — 定义,SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba。
  • file_fdw.c — 校验条件与报文。
  • 9.1.24 历史 file_fdw.c — 固定的 filename-only 校验报文,SHA-256 6f948ed8f9ffa6d1077b289f23c53eff02c5182492f0827b908c2be86026dad8。
  • 结构化证据 — 源码路径与历史报文边界。

来源

证据

断言

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

报文模板

源码里的格式串,不是某一次运行的输出。%s 之类是占位符,实际报文会填入对象名与取值。适用范围一栏是核验时留下的原始英文记录,未经翻译。

主消息 · observed either filename or program is required for file_fdw foreign tables

来源: 来源:contrib/file_fdw/file_fdw.c @ REL_18_6

主消息 · observed filename is required for file_fdw foreign tables

来源: 来源:contrib/file_fdw/file_fdw.c @ REL9_1_24

同类 SQL 状态码

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