Clojure:将 OS 时区更改为 UTC 后,java.jdbc 无法连接到 Postgres
Clojure: java.jdbc can't connect to Postgres after changing OS timezone to UTC
当我通过 timedatectl set-timezone UTC
将服务器上的时区设置为 UTC 并重新启动 Postgres 服务器时,我可以通过 psql 进行连接并验证 select now()
return 的值是否正确。
当我尝试启动 Clojure 应用程序和 运行 查询时,出现以下错误:
Acquisition Attempt Failed!!! Clearing pending acquires.
While trying to acquire a needed new resource, we failed
to succeed more than the maximum number of allowed
acquisition attempts (30). Last acquisition attempt exception:
org.postgresql.util.PSQLException: FATAL: invalid value for parameter "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 应用程序连接时才会发生。
如果我 return OS 时区为 America/New_York
,一切正常
看看
postgres default timezone
查看数据库理解的时区名称:
SELECT * FROM pg_timezone_names;
当我通过 timedatectl set-timezone UTC
将服务器上的时区设置为 UTC 并重新启动 Postgres 服务器时,我可以通过 psql 进行连接并验证 select now()
return 的值是否正确。
当我尝试启动 Clojure 应用程序和 运行 查询时,出现以下错误:
Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: org.postgresql.util.PSQLException: FATAL: invalid value for parameter "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 应用程序连接时才会发生。
如果我 return OS 时区为 America/New_York
看看
postgres default timezone
查看数据库理解的时区名称:
SELECT * FROM pg_timezone_names;