# HV00N — fdw_unable_to_establish_connection

> PostgreSQL SQLSTATE HV00N 表示 FDW 无法建立连接；具体连接入口、阶段和诊断必须来自实际包装器。
---

# HV00N — fdw_unable_to_establish_connection

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

`HV00N` 表示 FDW 在需要连接时未能建立连接。已检查的 PostgreSQL 18.6 核心与 contrib 调用没有解析出直接的 `HV00N` 报告组；检查到的 `postgres_fdw` 和 dblink 路径使用了其他 SQLSTATE，不能作为本条件的实现证据。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `HV00N` |
| 条件名 | `fdw_unable_to_establish_connection` |
| 状态 | `有效` |
| 已知存在于 | `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_UNABLE_TO_ESTABLISH_CONNECTION` |
| 别名 | `—` |

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

## 含义 {#meaning}

条件名描述连接建立阶段，但类别定义没有说明连接由哪个 FDW、驱动或外部服务管理，也没有指定 DNS、认证、网络或资源原因。

## 消息与诊断 {#messages}

没有解析出直接的 18.6 核心或 contrib 消息。保留包装器和驱动版本、连接选项（隐藏凭据）、连接建立阶段、外部服务器，以及完整的 detail 和 hint。实际 SQLSTATE 应以运行中的包装器为准。

## 诊断 {#diagnosis}

定位实际包装器的连接函数，按其日志区分解析选项、建立套接字、认证和会话初始化。检查外部服务器地址、映射用户和驱动日志；不要把所有连接错误归入 `HV00N`。

## 处理 {#response}

按实际诊断修复地址、认证、网络或包装器配置，并在连接状态明确后重新执行安全的操作。若请求可能已经到达远端，先确认远端状态再重试；不要只因条件名就重装扩展或反复重连。

## 版本 {#versions}

`HV00N` 从 9.1.0 到 18.6 以及 19 Beta 3 均存在。可用的 9.1 之前定义扫描没有观察到它；这是历史资料边界。

## 相关 {#related}

[`HV00J`](../hv00j/) 是 dblink 的选项名未找到；[`HV00B`](../hv00b/) 是无效句柄；[`08001`](../08001/) 是客户端连接异常类别中的常见条件。

## 来源 {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L477) — 定义，SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`。
- [`fdwapi.h`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/include/foreign/fdwapi.h#L24-L55) — 通用回调接口边界。
- [结构化证据](../../data/evidence/hv00n.json) — 有界源码扫描。
