| From: | Alexandre Gattiker <agattiker(at)gmail(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-jdbc(at)postgresql(dot)org | 
| Subject: | Re: JDBC driver 9.2 sending arbitrary timezone | 
| Date: | 2013-08-06 20:55:07 | 
| Message-ID: | CAOfQWyGGz6WeZYABkD074s3mGF9eDQjW+JZZrK8F6sv5pnQy7A@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-jdbc | 
It appears that the timezone is set at CentOS installation by copying
 /usr/share/zoneinfo/Europe/Zurich to /etc/localtime. At runtime, when the
JDBC driver calls TimeZone.getDefault(), the JRE appears to search all
files in the CentOS timezone db (/usr/share/zoneinfo/) until it founds one
that is identical to the one in /etc/localtime. So the result is randomly
Europe/Zurich or Europe/Busingen, since both files are identical in
/usr/share/zoneinfo. If the timezone is set by doing "ln -sf
/usr/share/zoneinfo/Europe/Zurich /etc/localtime", the JRE finds the
intended one directly.
In any case, upgrading to the latest PostgreSQL version also solved it.
Thanks for your help,
Alexandre
On Mon, Aug 5, 2013 at 8:16 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Alexandre Gattiker <agattiker(at)gmail(dot)com> writes:
> > PostgreSQL jdbc jar 9.2-1003-jdbc4 is failing for me, while version
> > 9.1-901-1.jdbc4 works fine. I was able to reproduce the issue by running
> > the jdbc driver's unit tests.
> > It appears the client is sending to the server the
> > timezone Europe/Busingen, although my timezone is set to Europe/Zurich.
>
> According to the Olsen timezone database, Europe/Busingen is an alias for
> Europe/Zurich.  So while it's an interesting question why the client side
> is sending "Europe/Busingen" not "Europe/Zurich", you should get the same
> result either way.  And it's not hard to imagine that there might be
> logic somewhere inside Java that causes one to be substituted for the
> other.
>
> However, a look into the Olsen source files suggests that Europe/Busingen
> was only added as a zone name in 2011.  When was your last server update?
> I don't know whether EDB relies on the system tzdata package, so either
> the postgres package or the tzdata package might be old ...
>
>                         regards, tom lane
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andreas Rudolph | 2013-08-09 08:35:53 | BUG org.postgresql.Driver.connect() distorts InterruptedException | 
| Previous Message | Dave Cramer | 2013-08-06 14:16:42 | Re: jdbc changelog on website |