Utöver andra svar notera att Postgres som standard är konfigurerat för att acceptera anslutningar via Unix-sockets med autentisering baserat på ditt operativsystemkonto, det är därför psql
fungerar bra och kräver inte lösenordet.
JDBC-anslutningar görs över TCP/IP med lösenordsautentisering, så du måste ändra pg_hba.conf
följaktligen. Till exempel tillåter denna linje TCP/IP-anslutningar från samma maskin till alla databaser för alla användare med lösenordsautentisering:
host all all 127.0.0.1/32 md5
Efter att ha lagt till den här raden jdbc:postgresql:databasename
borde fungera.
EDIT: Du kan inte skapa en JDBC-anslutning via Unix-socket eftersom PostgreSQL JDBC-drivrutinen endast kan fungera över TCP/IP. Lösenordet du använder när du skapar en JDBC-anslutning är det lösenord som tilldelats din användare. Om du inte har det kan du tilldela det, till exempel med ALTER USER
kommando. Se 19.3. Autentiseringsmetoder
.
Se även: