跳转到主要内容

25003 — 分支事务访问模式不适用(inappropriate_access_mode_for_branch_transaction)

PostgreSQL SQLSTATE 25003:分支事务访问模式不适用的源码边界与诊断参考。

25003 — 分支事务访问模式不适用(inappropriate_access_mode_for_branch_transaction)

速览

25003 表示分支事务使用了不适用的访问模式。固定的 PostgreSQL 18.6 核心调用扫描没有解析出直接报错点,因此本文记录定义边界,不虚构普通 SQL 触发器。

字段
SQLSTATE 25003
条件名 inappropriate_access_mode_for_branch_transaction
状态 有效
已知存在于 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_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION
别名

含义

该条件名属于 Class 25,描述的是分支事务管理。不要把它当作 25006 只读 SQL 事务、25P01 缺少事务块或应用自定义异常的同义词。

诊断

若分支事务 API 报出此码,应保留精确 SQLSTATE、API 操作、访问模式和事务上下文。当前固定核心证据没有确认服务器报文模板,也没有安全的 SQL 复现。

处理

先按分支事务 API 的契约修正访问模式,再决定是否重试。不要用 RAISE 替代缺失路径,也不要把普通只读语句误按此码重试。

源码报文与运行边界

固定 errcodes.txt 定义了该条件和宏;raw/calls/REL_18_6.jsonl 的解析调用扫描没有直接报错组,因此本批不发布报文模板,也不构造自然 SQL 触发器。

适用边界与案例

本批运行器在 PostgreSQL 18.6 与 10.21 的选定 case 均为 not_applicable,只记录源码边界,没有可复制的 SQL 触发过程。结构化证据 · 案例导出

版本与边界

锁定目录按上方生成事实记录该条件的已知边界和快照。运行状态明确为不适用:两个选定 runner 目标记录的是仅源码边界,不是自然触发通过。

25004 分支事务隔离级别25006 只读 SQL 事务25P01 没有活动 SQL 事务

来源

  • src.errcodes.18.6 (SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba)
  • src.calls.REL_18_6raw/calls/REL_18_6.jsonl (SHA-256 9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf)