# 0F000 — locator_exception

> PostgreSQL SQLSTATE 0F000 的源码边界与诊断参考。
---

# 0F000

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

SQLSTATE 0F000 是 Locator Exception 类别码，不是一条具体的 locator 失败消息。PostgreSQL 18.6 定义中存在该代码，但锁定的 core/contrib 扫描没有解析出 0F000 报告调用组。客户端、嵌入式 SQL 层、扩展或远端实现仍可能暴露这一标准类别，因此必须先确认实际产生者，再采用 locator 相关处置。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `0F000` |
| 条件名 | `locator_exception` |
| 状态 | `有效` |
| 已知存在于 | `7.4` |
| 锁定快照 | `9.0.23, 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_LOCATOR_EXCEPTION` |
| 别名 | `—` |

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

## 含义 {#meaning}

末三位为 `000`，所以 0F000 是类别级条件。它可以归拢 0F001 等 locator 成员，但自身不能指出具体句柄、描述符或 locator 操作。PostgreSQL 的定义行可用于分类，而固定扫描没有解析出原生报告边界。

## 消息 {#messages}

由于有界扫描没有解析出原生报告调用，本页不采用未经确认的 PostgreSQL 固定消息变体。

## 诊断 {#diagnosis}

保留实际返回的成员 SQLSTATE，并记录客户端或服务器组件、操作以及 locator/描述符身份。在该组件的固定源码或协议映射中查找报告路径。不要从类别名称推断 locator 句柄，也不要把查询返回零行当成 locator exception。

## 处理 {#response}

只有在实际产生者的文档支持时，才根据该组件指出的具体 locator 或描述符问题修正其生命周期、声明或引用对象。若结果来自远端转发，应保留远端错误并遵循其所有者的恢复规则。单凭该类别无法建立 PostgreSQL 原生重试规则。

## 版本 {#versions}

锁定目录将该条件的已知下界记为 PostgreSQL 7.4。事实块列出已发布快照；源码路径状态仅限于下方固定的 PostgreSQL 18.6 资料。

## 相关 {#related}

[`0F001`](../0f001/), [`0A000`](../0a000/)

## 来源 {#sources}

固定的[errcodes 定义](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L127)确认类别；[SQLSTATE 附录](https://www.postgresql.org/docs/18/errcodes-appendix.html)说明条件类别。锁定的 core/contrib 扫描没有解析出原生 0F000 报告调用组。 详见结构化[证据记录](../../data/evidence/0f000.json)，其中记录固定源码路径、扫描范围和未解决的运行边界。
