У меня работает локальный экземпляр PostgreSql на машине с Linux. Когда я использую команду psql
из оболочки, я успешно вхожу в систему без каких-либо проблем. Мне нужно подключиться к PostgreSql через JDBC, но я не знаю, что именно я должен передать как url
параметр в DriverManager.getConnection()
.
Это должно начинаться с jdbc:postgresql:
, но что будет дальше?
Системная группа сказала мне, что база данных была создана как имя пользователя. например если мой пользователь jutky
, была создана БД с именем jutky
, но когда я пытаюсь открыть соединение с jdbc:postgresql:jutky
, я получаю ошибку
org.postgresql.util.PSQLException: FATAL: password authentication failed for user "jutky"
(
Дополнительная информация
Когда я вхожу через psql
, мне не предлагается пароль, поэтому, когда я пытаюсь войти в систему через JDBC, я передаю пустую строку в качестве пароля - это правильно, или я должен передать null
или что-то еще
Когда я набираю psql --help
в оболочке, я вижу среди остальных эту строку:
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "/var/run/postgresql")
Итак, я понимаю, что я подключаюсь к PostgreSql через socket directory
, это имеет значение для строки URL в JDBC?
EDIT
Сначала спасибо за ответы.
Второе: это не первый раз, когда я использую JDBC и, в частности, не первый раз, когда я подключаюсь к PostgreSql из JDBC, поэтому я знаю общие правила и прочитал документацию. Однако в описанном случае я не уверен, как именно я должен создать строку подключения, если экземпляр работает через socket directory
, и какой пароль мне следует предоставить. Потому что при входе через psql
пароль вообще не запрашивается.
Заранее спасибо.