An issue has been identified in which the PostgreSQL JDBC driver returns an incorrect return code in specific recovery situations.
This issue occurs when a transaction manager running Java Transaction Service (JTS) performs a recovery following a crash during a transaction prepare phase. This results in `XAException` messages being written to the server log.
This issue is caused by a second call against a non-existent transaction `Xid`, however this behaviour is defined to be valid according to the JTS specification.
This issue has been identified as an incorrect behaviour within the PostreSQL JDBC driver, and the driver issue and its status can be monitored at https://github.com/pgjdbc/pgjdbc/issues/78