I have setup a system with postgres 7.3.4-5 on Debian and am attempting to
access a database from Java. When I use trust permissions, e.g. I have the
following in my pg_hba.conf file:
host all <theuser> <ip-range> <ip-mask> trust
everything works fine (with values in angled brackets replaced as
appropriate of course). I can access the database both through psql and
with Java. If I modify pg_hba.conf to use any kind of password
authentication (other than Kerberos, which isn't supported in the JDBC
drivers), e.g. by using any one of the following lines
host all <theuser> <ip-range> <ip-mask> password
host all <theuser> <ip-range> <ip-mask> crypt
host all <theuser> <ip-range> <ip-mask> md5
then psql asks for a password and works properly, but I get the following
error for the JDBC drivers:
Password authentication failed for user "<theuser>"
at org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection
AbstractJdbc1Connection.java:202)
at org.postgresql.Driver.connect(Driver.java:122)
I get the same results from multiple machine with different JVMs and by
trying out pg73jdbc1.jar, pg73jdbc2.jar, and pg73jdbc3.jar (by adding them,
one at a time, to the classpath). In my postgresql.conf file, I do have
"tcpip_socket=true".
Most of the FAQs and discussions I've found on the topic point to classpath
issues. As far as I can tell though, I'm using the classpath correctly
since everything works fine in trust mode.
Any ideas what I could be doing incorrectly?
Thanks in advance.
--Gerald Dalley
dalleyg@mit.edu