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