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

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

百科 / SQL 状态码 / Class 0Z 诊断异常

0Z000 diagnostics_exception

ERROR 仅定义 参考 未实测

类别
Class 0Z 诊断异常
严重等级
ERROR
条件名
diagnostics_exception
宏名称
ERRCODE_DIAGNOSTICS_EXCEPTION
最早已知存在
9.2.0
状态
有效

版本覆盖

  1. 18
  2. 17
  3. 16
  4. 15
  5. 14
  1. 13
  2. 12
  3. 11
  4. 10
  5. 9.6
  6. 9.5
  7. 9.4
  8. 9.3
  9. 9.2
  10. 9.1
  11. 9.0
  1. 19 beta
  2. 20 dev

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

速览

SQLSTATE 0Z000 是 Diagnostics Exception 类别。在 PostgreSQL 固定源码中,具体的 PL/pgSQL 路径属于成员 0Z002;类别行本身不是独立的报告调用组。观察到 diagnostics 成员时可以用 0Z000 分类,但诊断必须保留成员码和对应消息。

含义

该类别覆盖访问诊断状态时产生的错误。pl_exec.c 中已确认的成员路径在 GET STACKED DIAGNOSTICS 或无参数 RAISE 位于活动异常处理器之外时报告 0Z002。这个成员证据只解释一条 PostgreSQL 路径,不能把所有 diagnostics API 失败都说成 0Z000 报告。

消息

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

诊断

先读取成员码和消息。对于 0Z002,检查语句是否处在拥有堆叠错误的 EXCEPTION 处理器内;普通函数控制流和处理器范围比类别名称更关键。如果是其他成员或产生者,就沿该组件的源码追踪,并保留其诊断字段。

处理

把依赖堆叠状态的 GET STACKED DIAGNOSTICS 和无参数 RAISE 放进对应的活动 PL/pgSQL 异常处理器。如果要在处理器外抛出新错误,应提供明确的条件/消息,而不是尝试复用堆叠状态。保留成员错误,不要因为它属于 0Z 类就自动重试失败例程。

版本

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

来源

证据

断言

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

  • 0Z000 is diagnostics_exception in SQLSTATE Class 0Z.

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

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

  • No resolved 0Z000 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 an absolute absence claim.

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

  • The locked release definitions establish catalogue presence from the known 9.2.0 boundary; they do not establish a precise introducing release or runtime use.

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

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

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

同类 SQL 状态码

状态码 条件名 宏名称 严重等级 版本
Class 0Z 诊断异常 Diagnostics Exception 2 个 ↗
0Z000 diagnostics_exception ERRCODE_DIAGNOSTICS_EXCEPTION ERROR 9.2.0 起已知
诊断相关异常的类别,具体见成员码。 有效
0Z002 stacked_diagnostics_accessed_without_active_handler ERRCODE_STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER ERROR 9.2.0 起已知
在异常处理器外访问堆叠诊断状态。 有效