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