java - 无法远程连接到 Heroku 的数据库(Java)

标签 java postgresql heroku

我正在尝试远程连接到我的数据库:

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/

相关文章:

java - 只与 Hibernate 建立双向关系可以吗?

java - 使用 StepExecutionContext/JobExecutionContext 共享大值 Hashmap 的后果

ruby - Heroku 进程以状态 0 退出,但其测功机仍为 "crashes"

ruby-on-rails - Rails事件记录的 'where'方法异常

ruby-on-rails - 如何生成文件,然后使用 Heroku 压缩/压缩?

ruby-on-rails - 了解 Redis、Sidekiq、Heroku 和 Rails 5 的后台 worker

java - ObjectOutputStream - 客户端/服务器通信

java - 单例的抽象基枚举/类

postgresql - 如何检查 pg_stat_activity.query 字段中准备好的语句的内容

java - 为什么 resultset.next() 返回 null