尝试将独立的Java应用程序连接到Postgres时出现以下错误:

org.postgresql.util.PSQLException:错误:参数“TimeZone”的值无效:“America/New_York”
在org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java 572)
...
在com.mchange.v2.c3p0.DriveManagerDataSource.getConnection(DriveManagerDataSource.java:164)
...

(对不起,由于我的设置,我必须手动输入)。

我正在将Postgres 9.3.3与PostGIS 2.1.1扩展,Postgres 9.3-1100 jdbc驱动程序和0.2.6.3 c3p0库一起使用。

我在Linux和Windows系统上都知道这一点。当我在Linux系统上将TZ更改为GMT时,连接正常,但这不是一个好的解决方案。

我知道我该怎么做才能解决此问题?

谢谢,

最佳答案

帕维尔·霍拉尔(Pavel Horal)给出了正确答案。 Postgres安装困惑,只有root可以访问/usr/local/pgsql_933/share/timezone/America目录。一旦对它执行了chmod并添加了其中的文件,我的问题就消失了。

关于postgresql - 连接期间Postgres和c3p0无效的时区错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23063114/

10-15 20:44