Clojure:将操作系统时区更改为UTC后,java.jdbc无法连接到Postgres。



当我通过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

看一下

postgres默认时区

查看数据库可以理解哪些时区名称:

SELECT * FROM pg_timezone_names;

最新更新