Beachten Sie zusätzlich zu anderen Antworten, dass Postgres standardmäßig so konfiguriert ist, dass Verbindungen über Unix-Sockets mit Authentifizierung basierend auf Ihrem Betriebssystemkonto akzeptiert werden, deshalb psql
funktioniert gut und erfordert kein Passwort.
JDBC-Verbindungen werden über TCP/IP mit Kennwortauthentifizierung hergestellt, daher müssen Sie pg_hba.conf
ändern entsprechend. Beispielsweise erlaubt diese Zeile TCP/IP-Verbindungen von derselben Maschine zu allen Datenbanken für alle Benutzer mit Passwort-Authentifizierung:
host all all 127.0.0.1/32 md5
Nach dem Hinzufügen dieser Zeile jdbc:postgresql:databasename
sollte funktionieren.
BEARBEITEN: Sie können keine JDBC-Verbindung über Unix-Socket erstellen, da der PostgreSQL-JDBC-Treiber nur über TCP/IP funktionieren kann. Das Kennwort, das Sie beim Erstellen der JDBC-Verbindung verwenden, ist das Ihrem Benutzer zugewiesene Kennwort. Wenn Sie es nicht haben, können Sie es zum Beispiel mit ALTER USER
zuweisen Befehl. Siehe 19.3. Authentifizierungsmethoden
.
Siehe auch: