PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Connessione all'istanza locale di PostgreSql con JDBC

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: