У меня есть работающий локальный экземпляр PostgreSql на Linux-машине. Когда я использую команду psql
из командной строки, мне удалось войти в систему без каких-либо проблем. Мне нужно подключиться к PostgreSql через JDBC, но я не знаю, что именно следует передать как url
для параметра DriverManager.getConnection()
.
Он должен начинаться с jdbc:postgresql:
, но что будет дальше?
Мне сообщили системной группе, что база данных была создана как имя пользователя. например если мой пользователь jutky
был создан db с именем 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?
ИЗМЕНИТЬ
Первое спасибо за ответы.
Во-вторых: это не первый раз, когда я использую JDBC и, в частности, не в первый раз, когда я подключаюсь к PostgreSql из JDBC, поэтому я знаю общие правила, и я прочитал документацию. Однако в описанном случае я не уверен, как именно я должен построить строку соединения, если экземпляр работает через socket directory
и какой пароль я должен предоставить. Потому что, когда я вхожу в систему через psql
, я не запрашиваю пароль вообще.
Спасибо заранее.