One more thought -- I keep coming back to the fact that when we turn on logging in the JDBC driver on the client side, the problem does not occur. The only possible reason I can see for this having any affect on the problem is the small delay introduced by the synchronous logging. Since this is only showing up on commit of a database transaction which follows close on the heels of a rollback on the same connection, is there any chance that there is some very small "settling time" needed for a rollback, and we're sometimes getting in ahead of this? -Kevin >>> Tom Lane <tgl@xxxxxxxxxxxxx> 09/12/05 5:39 PM >>> "Kevin Grittner" <Kevin.Grittner@xxxxxxxxxxxx> writes: > org.postgresql.util.PSQLException: ERROR: canceling query due to user request The only possible trigger of that message is a SIGINT sent to the backend. Now the backend will SIGINT itself if a statement timeout expires, so one possibility is that you have statement_timeout set and it's getting exceeded. Otherwise you need to be looking for external causes. regards, tom lane