Re: timezone incompatibility - Mailing list pgsql-general

From Barry Lind
Subject Re: timezone incompatibility
Date
Msg-id 3D13F301.2050603@xythos.com
Whole thread Raw
In response to timezone incompatibility  (Barry Lind <barry@xythos.com>)
List pgsql-general
OK, I found the bug in the jdbc code.  It was treating a date coming
from the server without timezone information as being in the local
timezone instead of being in GMT.  I will fix this over the weekend.

thanks,
--Barry


Thomas Lockhart wrote:

>>This isn't a jdbc issue so I am forwarding to general.
>>
>>
>
>Hmm. Why is it not a jdbc issue? There is a documented, consistant, and
>altogether reasonable behavior from the database (imho of course ;). If
>there is a Java spec that somehow time zones must be respected for
>decades and centuries when there was no such concept even defined, then
>it would seem to fall on jdbc to implement that idea.
>
>The symptom is that a time from 1756 is entered with an explicit time
>zone. PostgreSQL accepts that. On query, the time is returned in GMT,
>without any claim for a time zone at all:
>
>lockhart=# select timestamp with time zone
>lockhart-# 'Sun Jun 20 20:16:54 CEST 1756';
>     timestamptz
>---------------------
> 1756-06-20 18:16:54
>
>So although the date is not returned with an explicit "GMT" for the time
>zone, it is not claiming to be CEST either.
>
>What different behavior would we need to get JDBC to infer the expected
>result? It may be we need to change *both* JDBC and PostgreSQL, but
>certainly changing just PostgreSQL won't fix the problem (at least
>without introducing troubles for others).
>
>                  - Thomas
>
>
>
>>>I'm testing our auto-configuration persistence framework (acp) against
>>>several databases and now that it comes to PostgreSQL, I run into a timezone
>>>incompatibility compared to other jdbc-drivers/databases. The framework
>>>tests the database specific datatypes by inserting a value, retrieving it
>>>and comparing the result. Here is the result for timestamp:
>>>
>>>Insert and Retrieve of SQLType 93 test value <Sun Jun 20 20:16:54 CEST
>>>1756> failed. Retrieved after insert: <Sun Jun 20 18:16:54 CEST 1756>
>>>
>>>I tried it with a test value in 1992 and the test passes.
>>>Okay, the docs say:
>>>"PostgreSQL uses your operating system's underlying features to provide
>>>output time-zone support, and these systems usually contain information for
>>>only the time period 1902 through 2038 (corresponding to the full range of
>>>conventional Unix system time)."
>>>
>>>But nevertheless, I feel sick with this behaviour, to me it seems not to be
>>>correct and it makes PostgreSQL incompatible to other databases. The
>>>databases I have tested so far retrieve the correct date  before 1902.
>>>
>>>
>>>regards
>>>Wolfgang
>>>
>>>
>>>
>>>Dr. Wolfgang Winter
>>>LogiTags Systems
>>>http://www.logitags.com
>>>
>>>---------------------------(end of broadcast)---------------------------
>>>TIP 4: Don't 'kill -9' the postmaster
>>>
>>>
>>>
>>>
>>>
>
>---------------------------(end of broadcast)---------------------------
>TIP 5: Have you checked our extensive FAQ?
>
>http://www.postgresql.org/users-lounge/docs/faq.html
>
>
>



pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Unable to run one pl/pgSQL function :-(
Next
From: Thomas Lockhart
Date:
Subject: Re: timezone incompatibility