I am using jdbc to connect to a postgresql database in a java application (actually the app is written in Groovy). I have postgresql set up to use the 'trust' authentication method. Is it possible to open a jdbc connection without specifying a password? When I try to use the normal constructor with a blank password, it fails with
Exception in thread "Thread-2" org.postgresql.util.PSQLException: FATAL: password authentication failed for user "myuser"
Even though, from the command line, this works fine
psql -U myuser mydatabase
Welcome to psql 8.3.5, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
Edit the pg_dba. conf file and change all local connections from md5 to trust. By doing this, you can log in to the PostgreSQL database server without using a password.
SCRAM-SHA-256: The strongest authentication method, introduced in PostgreSQL 10. This method prevents password sniffing on untrusted connections. The default password authentication method is MD5 to use this feature, the configuration parameter password_encryption should be changed to scram-sha-256.
Yes, you can.
Note that Postres JDBC driver always uses IP sockets (host
in pg_hba.conf
), even if database is on the local machine, then psql
can use local sockets (local
in pg_hba.conf
). So, if psql
works with trust
authentication and JDBC doesn't, you probably should configure trust
authentication for IP sockets, see documentation.
Already answered but:
When you connect using the psql
client program, and don't specify a host (-h
), the default is to use a local socket (at least in Linux). In JDBC, instead, you will use a TCP/IP socket. Then, to check your connection problem you should invoke psql with the same settings you are using in JDBC, host included.
For example
psql -U myuser -h 127.0.0.1 mydatabase # uses TCP/IP
Which is not the same as
psql -U myuser mydatabase # uses local socket (non TCP/IP)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With