Re: Postgres connection errors - Mailing list pgsql-general

From Tom Lane
Subject Re: Postgres connection errors
Date
Msg-id 18835.1288739340@sss.pgh.pa.us
Whole thread Raw
In response to Postgres connection errors  (Tim Uckun <timuckun@gmail.com>)
Responses Re: Postgres connection errors  (Tim Uckun <timuckun@gmail.com>)
List pgsql-general
Tim Uckun <timuckun@gmail.com> writes:
> I have lots of ruby daemons running connected to postgres. Some of
> them start getting connection errors after about a day or two of
> running. The odd thing is that they don't all get the same error.

> Some get this error:  PGError: lost synchronization with server: got
> message type "T"
> Others get this          PGError: lost synchronization with server:
> got message type "e"
> And sometimes this   PGError: lost synchronization with server: got
> message type ""

> What is postgres trying to tell me here?

Most of the cases we've seen like that have been because multiple
threads in the client application were trying to use the same PGconn
connection object concurrently.  There's no cross-thread synchronization
built into libpq, so you have to provide the interlocks yourself if
there's any possibility of multiple threads touching the same PGconn
concurrently.  And it will not support more than one query at a time
in any case.

But having said that ... usually apps that have made this type of
mistake start falling over almost immediately.  Maybe you have a case
where it's mostly interlocked correctly, and you just missed one
infrequent code path?

            regards, tom lane

pgsql-general by date:

Previous
From: Raymond O'Donnell
Date:
Subject: Re: 8.4 Data Not Compatible with 9.0.1 Upgrade?
Next
From: Craig Ringer
Date:
Subject: Re: JDBC Transactions