PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Connexion à une instance locale de PostgreSql avec JDBC

En plus d'autres réponses, notez que par défaut Postgres est configuré pour accepter les connexions via les sockets Unix avec une authentification basée sur votre compte de système d'exploitation, c'est pourquoi psql fonctionne bien et ne nécessite pas de mot de passe.

Les connexions JDBC sont établies sur TCP/IP avec authentification par mot de passe, vous devez donc modifier pg_hba.conf en conséquence. Par exemple, cette ligne autorise les connexions TCP/IP depuis la même machine vers toutes les bases de données pour tous les utilisateurs avec authentification par mot de passe :

host    all         all         127.0.0.1/32          md5

Après avoir ajouté cette ligne jdbc:postgresql:databasename devrait fonctionner.

MODIF : Vous ne pouvez pas créer de connexion JDBC sur un socket Unix car le pilote PostgreSQL JDBC ne peut fonctionner que sur TCP/IP. Le mot de passe que vous utilisez lors de la création de la connexion JDBC est le mot de passe attribué à votre utilisateur. Si vous ne l'avez pas, vous pouvez l'attribuer, par exemple, en utilisant ALTER USER commande. Voir 19.3. Méthodes d'authentification .

Voir aussi :