# HV00Q — fdw_schema_not_found

> PostgreSQL SQLSTATE HV00Q 表示 postgres_fdw 在 IMPORT FOREIGN SCHEMA 期间找不到请求的远端模式。
---

# HV00Q — fdw_schema_not_found

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

`HV00Q` 是具体的 `postgres_fdw` 导入错误。远端连接会按请求的 `nspname` 精确查询 `pg_catalog.pg_namespace`；结果行数不是恰好一行时，包装器按名称报告远端模式不存在。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `HV00Q` |
| 条件名 | `fdw_schema_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_SCHEMA_NOT_FOUND` |
| 别名 | `—` |

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

## 含义与消息 {#meaning}

`postgres_fdw.c:5515-5526` 的导入路径在映射的远端连接上发送 `SELECT 1 FROM pg_catalog.pg_namespace WHERE nspname = ...`，检查 `PQntuples(res) != 1`，再报告 `ERROR: schema "%s" is not present on foreign server "%s"`。请求的远端模式和服务器名称都是动态字段。这个固定查询不使用本地 `search_path`；连接或查询错误会在更早路径报告，后续远端权限则是导入成功后的另一项检查。

## 诊断 {#diagnosis}

检查 `IMPORT FOREIGN SCHEMA` 的源名称、远端数据库、映射用户和 `postgres_fdw` 服务器选项。确认映射的远端连接能按精确名称执行固定的 `pg_catalog.pg_namespace` 查询；不要用本地 `search_path` 推断这一分支。将零行或异常行数与更早发生的连接/查询错误区分开，并在导入继续后另行检查远端模式和表权限。

## 处理 {#response}

使用远端模式的确切名称，在适当时创建远端模式，或改用正确的外部服务器和数据库。自动提交时，只有远端目录状态或用户映射修正后才重新导入。显式事务中的 `ERROR` 会使本地事务失败；重试修正后的导入前，先执行 `ROLLBACK`，或回滚到此前已经建立且仍可用的保存点，不要在 `INERROR` 事务中重放命令。

## 消息与诊断 {#messages}

确认的调用组严重级别为 `ERROR`，主消息是 `schema "%s" is not present on foreign server "%s"`，没有 detail 或 hint。保留远端模式和服务器值，以及包装器版本。

## 版本 {#versions}

`HV00Q` 从 9.1.0 到 18.6 以及 19 Beta 3 均存在。旧版本的措辞或目录查询细节可能不同；18.6 路径固定于指定提交。

## 相关 {#related}

[`HV00P`](../hv00p/) 表示包装器不支持模式导入；[`3D000`](../3d000/) 是本地数据库不存在；[`HV00D`](../hv00d/) 涉及无效包装器选项。

## 来源 {#sources}

- [`errcodes.txt`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L481) — 定义，SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`。
- [`postgres_fdw.c`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/contrib/postgres_fdw/postgres_fdw.c#L5515-L5526) — 远端 `pg_namespace` 查询、结果检查与消息。
- [事务与保存点恢复](https://www.postgresql.org/docs/18/tutorial-transactions.html) — 显式事务恢复边界；固定 `xact.sgml` SHA-256 `b48fbe8bd02ce3d1181a350c88c8baa6e11c73edc90a936e77b180daef328c5c`。
- [结构化证据](../../data/evidence/hv00q.json) — 来源路径和消息分组。
