Clojure:将OS时区更改为UTC后,java.jdbc无法连接到Postgres

时间:2016-09-21 23:34:24

标签: postgresql clojure clojure-java-interop

当我通过timedatectl set-timezone UTC将我的服务器上的时区设置为UTC并重新启动Postgres服务器时,我可以通过psql连接并验证select now()是否返回正确的值。

当我尝试启动我的Clojure应用程序并运行查询时,出现以下错误:

  

收购尝试失败!!!清除待处理的收购。   在尝试获取所需的新资源时,我们失败了   成功超过允许的最大数量   收购尝试(30)。上次获取尝试异常:   org.postgresql.util.PSQLException:FATAL:参数“TimeZone”的值无效:“UTC”

我在我的应用程序中使用以下数据库:

[org.postgresql/postgresql "9.4.1208"]
[clojure.jdbc/clojure.jdbc-c3p0 "0.3.2"]
[org.clojure/java.jdbc "0.6.1"]

错误看起来像来自Postgres,但只有在通过Clojure应用程序进行连接时才会发生。

如果我将操作系统时区恢复为America/New_York

,则一切正常

1 个答案:

答案 0 :(得分:2)

看看

postgres default timezone

查看数据库理解的时区名称:

SELECT * FROM pg_timezone_names;