Scott Ribe <scott_ribe@xxxxxxxxxxxxxxx> writes: > Every once in a while I log this error executing a query: > message contents do not agree with length in message type "D" > lost synchronization with server: got message type "O", length 1398030676 This means either that libpq got a corrupt message from the server, or that libpq itself contains a bug in message parsing. Given that no one else has reported similar problems, the idea that your app is somehow clobbering the libpq message buffer (and thus corrupting the message "in transit") has to be taken seriously. You mention pooling so I suppose this is a multi-threaded application ... are you being careful not to let any two threads try to use the same libpq PGconn at the same time? libpq itself does not contain any locking that would make that safe, you need to provide the locking yourself. regards, tom lane