我正在尝试使用JDBC驱动程序从Java连接到PostgreSQL数据库,并希望使用pgpass进行身份验证。
我的PostgreSQL服务器已正确设置为密码身份验证,我有一个本地的.pgpass
文件;我可以使用psql连接而不必提供用户密码。但是,当我尝试在Java中打开连接时,会出现以下错误:
org.postgresql.util.PSQLException: The server requested password-based authentication, but no password was provided.
我正在使用以下代码:
String url = "jdbc:postgresql://localhost/test";
Properties props = new Properties();
props.setProperty("user","my_user");
Connection conn = DriverManager.getConnection(url, props);
我的问题是:Postgres JDBC Driver 是否支持pgpass?
我找到的唯一线索在SO上,似乎表明由于驱动程序不使用libpq,因此它不能使用pgpass。但我似乎无法在任何地方找到权威的答案。