40003: statement_completion_unknown
PostgreSQL含义
事务的结果未知;在确认事务是否完成之前(尤其是在 COMMIT 期间)与服务器的连接已断开。客户端无法确定更改是否已持久化。属于 Class 40(transaction_rollback)。
原因
COMMIT 已发送但在收到响应之前,网络中断、服务器崩溃或发生了故障转移。事务可能已在服务器上完成,也可能已被回滚。
解决方法
不要盲目重试事务;先确认它是否真正生效(例如查询预期的行)。将事务设计为幂等;使用唯一的业务键/幂等键。在连接池中实现健壮的重连和校验逻辑。