# HV00J — fdw_option_name_not_found

> PostgreSQL SQLSTATE HV00J 是 dblink 的选项名称未找到条件，与 postgres_fdw 和 file_fdw 的 FDW 选项验证分开。
---

# HV00J — fdw_option_name_not_found

## 速览 {#at-a-glance}

当 dblink 的连接选项不在接受的 dblink/libpq 选项集合中时，会使用 `HV00J`。dblink 是独立的 contrib 客户端 API，不是 FDW 回调实现；18.6 核心与 contrib 扫描没有解析出其他 `HV00J` 报告组。

<!-- BEGIN SQLSTATE FACTS: generated by scripts/generate.py; do not edit -->

| 字段 | 值 |
| --- | --- |
| 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` |
| 别名 | `—` |

<!-- source facts: data/errcodes/HV00J.json -->
<!-- END SQLSTATE FACTS -->

## 含义与消息 {#meaning}

在 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` 提示；这只是有界比较，不代表精确的切换版本。

## 诊断 {#diagnosis}

确认该选项属于 dblink 连接字符串或选项列表，并查看安装版本对应的 libpq 选项名称。保留确切选项名、dblink/libpq 版本，以及错误是否发生在解析连接定义时。不要把 `postgres_fdw` 的选项表用于 dblink。

## 处理 {#response}

改用 dblink/libpq 支持的名称，或删除该选项，并保留相近名称提示作为线索。重新校验连接定义即可；无效选项名称是确定性的，不需要重试数据库事务。

## 诊断边界 {#messages}

确认的实现是 dblink 的选项解析器。本批没有运行自然环境实验，源码证据也不表示远端连接已经成功或失败。

## 版本 {#versions}

该条件从 9.1.0 到 18.6 以及 19 Beta 3 均存在。固定的 18.6 与 REL9_6_24 dblink 快照显示了不同的提示措辞；它们界定已观察版本，但不确定切换版本。解读日志时应匹配实际安装版本。

## 相关 {#related}

[`HV00D`](../hv00d/) 涵盖 `file_fdw`/`postgres_fdw` 的选项名称；[`HV00N`](../hv00n/) 涉及建立连接；[`HV001`](../hv001/) 涉及获取 libpq 默认值时的内存分配失败。

## 来源 {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L479) — 定义，SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`。
- [dblink.c](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/contrib/dblink/dblink.c#L2002-L2011) — 18.6 dblink 选项解析器。
- [REL9_6_24 中的 dblink.c](https://github.com/postgres/postgres/blob/a4116b8d5a4f68803452d8f1aa3f74f302049a90/contrib/dblink/dblink.c#L2017-L2021) — 有界历史提示比较；SHA-256 ff331aac2153e21aa88cc6c4e656ab00b0593744062270849f27281434db3b55。
- [结构化证据](../../data/evidence/hv00j.json) — 消息、detail 和 hint 的分组。
