我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例。当我使用psql
来自 shell 的命令我成功登录,没有任何问题。我需要通过 JDBC 连接到 PostgreSql,但我不知道我到底应该传递什么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
在 shell 中我看到了这一行:
Connection options:
-h, --host=HOSTNAME database server host or socket directory (default: "/var/run/postgresql")
所以我知道我通过一个连接到 PostgreSqlsocket directory
,这对 JDBC 中的 URL 字符串有影响吗?
EDIT
首先感谢各位的解答。
第二:这不是我第一次使用 JDBC,特别是不是第一次从 JDBC 连接到 PostgreSql,所以我知道一般规则并且我已经阅读了文档。但是,在所描述的情况下,如果实例通过以下方式运行,我不确定应该如何准确构造连接字符串socket directory
我应该提供什么密码。因为当我通过psql
根本没有提示我输入密码。
提前致谢。