当我使用 jdbc 连接到 postgresql 数据库时,我遇到了问题。我已经从 pgAdmin3 站点上的软件包下载中安装了 postgresql 9.1(我需要 gui)。我正在毫无问题地连接到 db 而没有问题,但是当我尝试从 java 代码连接时,我遇到了后续错误:
org.postggresql.util.PSQLException: FATAL: password Authentication for user postgres
引发异常的代码是
public class ConnectionManager {
private ConnectionManager(){};
private static boolean driverLoad = false;
private static final String pgDriver="org.postgresql.Driver";
private static final String pgUrl="jdbc:postgresql:coffeeDB";
private static final String usr="postgres";
private static final String psw="password";
public static Connection getConnection() throws ClassNotFoundException, SQLException {
if(!driverLoad) {
Class.forName(pgDriver);
driverLoad=true;
}
return DriverManager.getConnection(pgUrl, usr, psw);
}
}
我已经解决了。只需在 postgresql 的 URL 上添加默认端口即可
我在Play 2.2中得到了这个。味道略有不同
[error]c.j.b.h.AbstractConnectionHook - Failed to obtain initial connection Sleeping for 0ms and trying again. Attempts left: 0. Exception: null.Message:FATAL: password authentication failed for user "root"
问题是在应用程序.conf中的URL周围引用。如果有特殊字符,则需要引号
失败
db.default.url=jdbc:postgresql://myMachine:5432/mydb
工程
db.default.url="jdbc:postgresql://myMachine:5432/mydb"
密码也是如此
失败
Passw)rd#!
工程
"Passw)rd#!"