PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verbindung zur lokalen Instanz von PostgreSql mit JDBC

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: