Además de otras respuestas, tenga en cuenta que, de forma predeterminada, Postgres está configurado para aceptar conexiones a través de sockets Unix con autenticación basada en la cuenta de su sistema operativo, por eso psql
funciona bien y no requiere la contraseña.
Las conexiones JDBC se realizan sobre TCP/IP con autenticación de contraseña, por lo que debe modificar pg_hba.conf
respectivamente. Por ejemplo, esta línea permite conexiones TCP/IP desde la misma máquina a todas las bases de datos para todos los usuarios con autenticación de contraseña:
host all all 127.0.0.1/32 md5
Después de agregar esta línea jdbc:postgresql:databasename
debería funcionar.
EDITAR: No puede crear una conexión JDBC sobre un socket Unix ya que el controlador JDBC de PostgreSQL solo puede funcionar sobre TCP/IP. La contraseña que utiliza al crear la conexión JDBC es la contraseña asignada a su usuario. Si no lo tiene, puede asignarlo, por ejemplo, usando ALTER USER
dominio. Consulte 19.3. Métodos de autenticación
.
Ver también: