# HV006 — fdw_invalid_data_type_descriptors（外部数据类型描述符无效）

> PostgreSQL SQLSTATE HV006 表示 FDW 数据类型描述符不一致或不可用。应检查包装器元数据契约。
---

# HV006 — fdw_invalid_data_type_descriptors

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

`HV006` 针对 FDW 边界上无效的数据类型描述符。18.6 定义了它，但核心/contrib 调用扫描没有解析出直接报告组，因此没有自带包装器报文或自然 SQL 复现。

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

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

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

## 含义 {#meaning}

它描述的是描述符元数据本身，例如类型 OID、长度、精度或 typmod 与回调契约不一致；不是某一个值转换失败（`HV004`）。

## 报文与诊断 {#messages}

没有固定核心报文。记录描述符字段及其值、本地和远端关系、回调阶段、包装器版本及远端元数据响应，不能由条件名拼造报文。

## 诊断 {#diagnosis}

沿着模式导入/规划到元组转换追踪描述符，查看构造或消费它的包装器回调，并与 `fdwapi.h` 和固定版本文档比较。扩展二进制与远端模式变更是更有价值的线索。

## 处理 {#response}

修正描述符构造，或使外部表元数据与远端模式一致。若问题从扩展升级后出现，验证匹配的服务器/扩展 ABI；描述符修复前不要盲目重试。

## 版本 {#versions}

锁定目录从 9.1.0 观察到该码，正式快照延续至 18.6，19 Beta 3 也有；pre-9 没有可用观察。

## 相关 {#related}

[`HV004`](../hv004/) 是类型不匹配；[`HV021`](../hv021/) 是更广义的描述符信息不一致；本码聚焦类型描述符字段。

## 来源 {#sources}

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