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 :