HV00J — fdw_option_name_not_found
HV00J — fdw_option_name_not_found
速览
当 dblink 的连接选项不在接受的 dblink/libpq 选项集合中时,会使用 HV00J。dblink 是独立的 contrib 客户端 API,不是 FDW 回调实现;18.6 核心与 contrib 扫描没有解析出其他 HV00J 报告组。
| 字段 | 值 |
|---|---|
| SQLSTATE | HV00J |
| 条件名 | fdw_option_name_not_found |
| 状态 | 有效 |
| 已知存在于 | 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_OPTION_NAME_NOT_FOUND |
| 别名 | — |
含义与消息
在 dblink 的选项解析路径中,ERROR 的主消息为 invalid option "%s"。只有找到相近名称时才提示 Perhaps you meant the option "%s".;若存在合法选项但没有相近候选,源码不发送 hint;只有不存在任何合法选项时才提示 There are no valid options in this context.。固定的 REL9_6_24 dblink 快照显示较早的动态 Valid options in this context are: %s 提示;这只是有界比较,不代表精确的切换版本。
诊断
确认该选项属于 dblink 连接字符串或选项列表,并查看安装版本对应的 libpq 选项名称。保留确切选项名、dblink/libpq 版本,以及错误是否发生在解析连接定义时。不要把 postgres_fdw 的选项表用于 dblink。
处理
改用 dblink/libpq 支持的名称,或删除该选项,并保留相近名称提示作为线索。重新校验连接定义即可;无效选项名称是确定性的,不需要重试数据库事务。
诊断边界
确认的实现是 dblink 的选项解析器。本批没有运行自然环境实验,源码证据也不表示远端连接已经成功或失败。
版本
该条件从 9.1.0 到 18.6 以及 19 Beta 3 均存在。固定的 18.6 与 REL9_6_24 dblink 快照显示了不同的提示措辞;它们界定已观察版本,但不确定切换版本。解读日志时应匹配实际安装版本。
相关
HV00D 涵盖 file_fdw/postgres_fdw 的选项名称;HV00N 涉及建立连接;HV001 涉及获取 libpq 默认值时的内存分配失败。
来源
errcodes.txt— 定义,SHA-2566e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba。- dblink.c — 18.6 dblink 选项解析器。
- REL9_6_24 中的 dblink.c — 有界历史提示比较;SHA-256 ff331aac2153e21aa88cc6c4e656ab00b0593744062270849f27281434db3b55。
- 结构化证据 — 消息、detail 和 hint 的分组。