跳转到主要内容

0B000 — invalid_transaction_initiation

PostgreSQL SQLSTATE 0B000 的源码边界与诊断参考。

0B000

速览

SQLSTATE 0B000 是 SQL 标准的 Invalid Transaction Initiation 类别。锁定的 PostgreSQL 18.6 定义包含该条件,但已解析的 core/contrib 调用扫描没有找到报告此代码的 PostgreSQL 调用组。应把它当作身份和调查入口,而不是某个 BEGIN、保存点或客户端命令必然产生它的证明。

字段
SQLSTATE 0B000
条件名 invalid_transaction_initiation
状态 有效
已知存在于 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_INVALID_TRANSACTION_INITIATION
别名

含义

该类别描述使用此 SQLSTATE 的实现以无效方式启动或建立事务。它与服务器实际返回的事务状态代码是两回事。PostgreSQL 的目录条目本身不能证明当前后端路径、扩展、ECPG 层或驱动会为某个命令使用 0B000。

消息

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

诊断

在解释名称前记录准确的 SQLSTATE、消息类型、严重性、命令阶段和客户端库。确认失败发生在启动、显式事务命令、保存点操作,还是转发远端结果的包装层。如果实际代码是 25001 或其他事务状态代码,就按该代码及其服务器消息诊断,不要从类别名称替换成 0B000。

处理

按实际事务状态诊断处理:结束或修正无效的事务命令,并且只有在服务器和应用状态确实要求时才开启新事务。若路径由包装器或驱动负责,应先检查其固定实现及远端 SQLSTATE,再改变事务处理方式。有界源码结果不足以为 0B000 提供通用重试或 PostgreSQL 原生修复步骤。

版本

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

25001, 25P02

来源

固定的errcodes 定义确认目录条目;事务管理文档说明 PostgreSQL 的事务边界。锁定的 core/contrib 调用扫描未找到已解析的 0B000 报告调用组。 详见结构化证据记录,其中记录固定源码路径、扫描范围和未解决的运行边界。