Oltre ad altre risposte, nota che per impostazione predefinita Postgres è configurato per accettare connessioni tramite socket Unix con autenticazione basata sull'account del tuo sistema operativo, ecco perché psql
funziona bene e non richiede la password.
Le connessioni JDBC vengono effettuate su TCP/IP con autenticazione tramite password, quindi è necessario modificare pg_hba.conf
di conseguenza. Ad esempio, questa riga consente connessioni TCP/IP dalla stessa macchina a tutti i database per tutti gli utenti con autenticazione tramite password:
host all all 127.0.0.1/32 md5
Dopo aver aggiunto questa riga jdbc:postgresql:databasename
dovrebbe funzionare.
MODIFICA: Non è possibile creare una connessione JDBC su socket Unix poiché il driver JDBC PostgreSQL può funzionare solo su TCP/IP. La password utilizzata durante la creazione della connessione JDBC è la password assegnata all'utente. Se non lo possiedi, puoi assegnarlo, ad esempio, utilizzando ALTER USER
comando. Vedere 19.3. Metodi di autenticazione
.
Vedi anche: