我正在尝试远程连接到我的数据库:
connection = DriverManager.getConnection(URL);
URL 格式如下(所有 XXX 值均从 Heroku 网站复制):
jdbc:postgresql://XXX:XXX/XXXX?sslmode=require&user=XXX&password=XXXXX
我得到:
org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "213......, SSL off
我已经运行(它没有改变“SSL 关闭”状态):
heroku config:set PGSSLMODE=require --app XXXXXX
甚至按照旧帖子中的建议将其添加到 URL(尽管我在 Heroku 的文档中没有看到任何内容):
sslfactory=org.postgresql.ssl.NonValidatingFactory
最佳答案
确保您使用的是 PG JDBC 客户端 9.4 或更高版本。您的 JDBC 连接 URL 需要包含 URL 参数:
sslmode=require
例如:
jdbc:postgresql://<host>:<port>/<dbname>?sslmode=require&user=<username>&password=<password>
有关更多信息,请参阅 Connecting to a database remotely 上的 Heroku 文档.
关于java - 无法远程连接到 Heroku 的数据库(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40154076/