Oprócz innych odpowiedzi zauważ, że domyślnie Postgres jest skonfigurowany do akceptowania połączeń przez gniazda uniksowe z uwierzytelnianiem opartym na Twoim koncie systemu operacyjnego, dlatego psql
działa dobrze i nie wymaga hasła.
Połączenia JDBC są nawiązywane przez TCP/IP z uwierzytelnianiem hasłem, więc musisz zmodyfikować pg_hba.conf
odpowiednio. Na przykład ta linia umożliwia połączenia TCP/IP z tego samego komputera do wszystkich baz danych dla wszystkich użytkowników z uwierzytelnianiem hasłem:
host all all 127.0.0.1/32 md5
Po dodaniu tej linii jdbc:postgresql:databasename
powinien działać.
EDYTUJ: Nie możesz utworzyć połączenia JDBC przez gniazdo Unix, ponieważ sterownik PostgreSQL JDBC może działać tylko przez TCP/IP. Hasło używane podczas tworzenia połączenia JDBC jest hasłem przypisanym do użytkownika. Jeśli go nie masz, możesz go przypisać, na przykład za pomocą ALTER USER
Komenda. Zobacz 19.3. Metody uwierzytelniania
.
Zobacz też: