Invalid PSQLState used in connection classes

From: "Donald Fraser" <postgres(at)kiwi-fraser(dot)net>
To: "[JDBC]" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Invalid PSQLState used in connection classes
Date: 2011-03-08 16:03:56
Message-ID: CD183140E21E4179B9F1F5DD77EB4E2F@DEVELOP1
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I have noted in the Java code;

File: /org/postgresql/core/v3/ConnectionFactoryImpl.java

Class: ConnectionFactoryImpl

<code snipit>
catch (ConnectException cex)
{
// Added by Peter Mount <peter(at)retep(dot)org(dot)uk>
// ConnectException is thrown when the connection cannot be made.
// we trap this an return a more meaningful message for the end user
throw new PSQLException (GT.tr("Connection refused. Check that the hostname
and port are correct and that the postmaster is accepting TCP/IP
connections."), PSQLState.CONNECTION_REJECTED, cex);
}
</code snipit>

that the use of PSQLState.CONNECTION_REJECTED (08004) is incorrect.
According to the documentation, a CONNECTION_REJECTED error means that the
PostgreSQL server has rejected the connection.
However if I have a broken network between my client and the server, such
that there is no route to the server, I can get a ConnectException and I
have not established, in any way, a connection to the PostgreSQL server.

Why am I complaining about it?
For automation purposes where the client automatically reconnects when a
broken connection is detected we do not want to keep retrying when we get a
CONNECTION_REJECTED from the PostgreSQL server. Because this is meant to
indicate that there is something wrong with our credentials, permissions or
other settings on the server (e.g. pg_hba.conf).
Remote networks over the Internet can often go down and we would like our
automated systems to re-establish such connections, but we can't if the
driver reports CONNECTION_REJECTED for conditions that are not true.

Regards
Donald Fraser

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kevin Grittner 2011-03-08 16:48:57 Re: Invalid PSQLState used in connection classes
Previous Message hans wulf 2011-03-08 14:55:03 Re: PreparedStatement batch statement impossible