↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / SQL 状态码 / Class 38 外部例程异常

38004 reading_sql_data_not_permitted

ERROR 仅定义 参考 未实测

类别
Class 38 外部例程异常
严重等级
ERROR
条件名
reading_sql_data_not_permitted
宏名称
ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED
最早已知存在
7.4
状态
有效

版本覆盖

版本条依据已采样构建显示;灰色版本可能尚未采样,悬停可查看。手册链接随版本选择,源码和运行证据保持原核验构建。

速览

SQLSTATE 38004 是外部例程异常类别中“不允许读取 SQL 数据”的成员。锁定的 PostgreSQL 18.6 core/contrib 扫描没有找到原生报告调用组,应与 2F004 分开诊断。

含义

只有实际执行限制的外部例程实现才能指出声明、读取操作和消息字段。目录身份不等于后端语言规则。

消息

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

诊断

记录例程所有者和访问声明,再读取固定源码或协议映射。如果服务器返回 2F004,就按该成员及其所有者处理。

处理

仅按文档调整外部例程契约或调用。读取被拒绝时不要自动重试。

版本

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

来源

证据

断言

每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。

  • 38004 is reading_sql_data_not_permitted in SQLSTATE Class 38.

    核实方式Read the fixed errcodes definition row, severity, and macro.

    来源 来源:src/backend/utils/errcodes.txt @ REL_18_6

  • No resolved 38004 report group was found in the locked PostgreSQL 18.6 core/contrib call scan.

    核实方式Compare resolved report groups with the fixed macro mapping.

    不覆盖The scan does not cover external wrappers, drivers, extensions, remote systems, or user code; absence from this scan is not absolute.

    来源 来源:raw/calls/REL_18_6.jsonl · 来源:src/backend/utils/errcodes.txt @ REL_18_6

  • Locked release definitions establish catalogue presence from 7.4; they do not establish a precise introducing release or runtime use.

    核实方式Compare canonical release facts with the available history boundary.

    不覆盖Definition presence is not an emitting-path observation.

    来源 来源:src/backend/utils/errcodes.txt @ REL_18_6

同类 SQL 状态码

状态码 条件名 宏名称 严重等级 版本
Class 38 外部例程异常 External Routine Exception 5 个 ↗
38000 external_routine_exception ERRCODE_EXTERNAL_ROUTINE_EXCEPTION ERROR 7.4 起已知
外部例程异常的类别码,覆盖外部命令与 PL 处理器。 有效
38001 containing_sql_not_permitted ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED ERROR 7.4 起已知
外部例程不允许包含 SQL 语句。 有效
38002 modifying_sql_data_not_permitted ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED ERROR 7.4 起已知
外部例程不允许修改 SQL 数据,区别于 2F002。 有效
38003 prohibited_sql_statement_attempted ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED ERROR 7.4 起已知
外部例程中尝试执行被禁止的 SQL 语句。 有效
38004 reading_sql_data_not_permitted ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED ERROR 7.4 起已知
外部例程不允许读取 SQL 数据。 有效