# 2F004 — reading_sql_data_not_permitted

> PostgreSQL SQLSTATE 2F004 的源码与诊断参考。
---

# 2F004

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

SQLSTATE 2F004 是 SQL Routine Exception 类别中“不允许读取 SQL 数据”的成员。锁定的 PostgreSQL 18.6 core/contrib 扫描没有找到原生报告调用组，因此必须确认实际例程实现和数据访问契约。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `2F004` |
| 条件名 | `reading_sql_data_not_permitted` |
| 状态 | `有效` |
| 已知存在于 | `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_S_R_E_READING_SQL_DATA_NOT_PERMITTED` |
| 别名 | `—` |

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

## 含义 {#meaning}

只有在实际产生者执行该规则时，2F004 才表示例程数据访问受限。客户端、扩展、ECPG 层或远端例程引擎可能独立使用此成员。

## 消息 {#messages}

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

## 诊断 {#diagnosis}

记录例程所有者、调用阶段、实际 SQLSTATE 以及限制读取的数据访问声明。如果后端返回其他代码，应按该代码及其源码路径诊断；固定目录行不是兜底诊断。

## 处理 {#response}

只采用实际产生者文档支持的声明或调用方修复。2F004 尚未确认 PostgreSQL 原生报告路径，也没有通用重试边界。

## 版本 {#versions}

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

## 相关 {#related}

[`2F000`](../2f000/), [`38004`](../38004/)

## 来源 {#sources}

详见结构化[证据记录](../../data/evidence/2f004.json)，其中记录固定源码路径、扫描范围和未解决的运行边界。
