# 0F001 — invalid_locator_specification

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

# 0F001

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

SQLSTATE 0F001 是 0F 类别中的 Invalid Locator Specification 成员。锁定的 PostgreSQL 定义记录了 SQL 标准身份，但已解析的 PostgreSQL 18.6 core/contrib 扫描没有找到报告调用。不能把条件名扩展成 PostgreSQL 大对象、游标、FDW 句柄或某个驱动 API 的断言。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `0F001` |
| 条件名 | `invalid_locator_specification` |
| 状态 | `有效` |
| 已知存在于 | `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_L_E_INVALID_SPECIFICATION` |
| 别名 | `—` |

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

## 含义 {#meaning}

当实际产生者采用该 SQLSTATE 时，这个成员表示 locator 规格无效。固定目录没有指出当前 PostgreSQL 后端中的 locator 表示形式或哪一种操作会无效。成员码比 0F000 更具体，但仍需要结合产生者和消息解释。

## 消息 {#messages}

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

## 诊断 {#diagnosis}

记录完整诊断和阶段：解析/准备、执行、描述符查找，还是客户端调用。确认负责 locator 的实现，并查看其固定文档或源码中允许的 locator 语法和生命周期。如果 PostgreSQL 返回其他代码，就保留那个代码；不能把 0F001 当作兜底分类。

## 处理 {#response}

按实际产生者的规则修正 locator 规格或其所属句柄；只有确认没有完成外部可见工作且操作可安全重复时，才重做失败语句。若错误来自转发或客户端边界，应修复该边界，不要仅凭条件名改变 PostgreSQL 事务策略。

## 版本 {#versions}

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

## 相关 {#related}

[`0F000`](../0f000/), [`0A000`](../0a000/)

## 来源 {#sources}

固定的[errcodes 定义](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L128)确认成员和宏；[SQLSTATE 附录](https://www.postgresql.org/docs/18/errcodes-appendix.html)提供公开类别表。锁定的 core/contrib 扫描未找到已解析的 0F001 报告路径。 详见结构化[证据记录](../../data/evidence/0f001.json)，其中记录固定源码路径、扫描范围和未解决的运行边界。
