Thread: How to retry when connection has been closed?

How to retry when connection has been closed?

From
Herouth Maoz
Date:
Good day.

We are upgrading a legacy system from Sybase to Postgres. In one of the
modules, we wish, if an SQLException is caught, to close and reopen the
connection and retry - but only if the cause of the Exception is a dropped
connection. The original developer of the code implemented this by searching
for the substrings "Broken pipe" or "Connection already closed" in the
exception message.

Is there a more elegant way to find out whether the connection has been
dropped from within the catch clause?

And if not, I assume the above substrings are no longer pertinent - what
messages in PostgreSQL indicate a dropped connection?

Thank you,
Herouth

Re: How to retry when connection has been closed?

From
Oliver Jowett
Date:
Herouth Maoz wrote:

> Is there a more elegant way to find out whether the connection has been
> dropped from within the catch clause?

Test the SQLState of the thrown SQLException. See
http://www.postgresql.org/docs/8.4/static/errcodes-appendix.html

-O