Hi Bill, thanks for your answer.
> most often caused by something earlier in the transactions > need all of the statements in each transaction It would be great if we could reveal an application error. Whole transactions I've already posted (in postgres log: log_min_duration_statement=0). Nothing suspicious yet: - both sessions COMMIT/ROLLBACK before BEGIN - both sessions run the same SQL statements - deadlock: FIRST statement of both transactions - deadlock: update single table, same row, column without any constraints (WHY?) - no statements of other sessions executed in between Any idea? thanks, Andrej