Re: Anyway to tell jdbc to use server timezone?

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: George Woodring <george(dot)woodring(at)iglass(dot)net>
Cc: Mikko Tiihonen <Mikko(dot)Tiihonen(at)nitorcreations(dot)com>, List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Anyway to tell jdbc to use server timezone?
Date: 2014-11-14 13:48:59
Message-ID: CADK3HHJRN_r88TYVuTz=bj6AW9qpQrCj=pUjR0+F7QMG-rJC1g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

George,

Looking at the reason it was put in there, this is for the binary protocol.
I think you may be able to get away with removing it if you disable binary
protocol for timestamps.

Mikko ?

Dave

Dave Cramer

dave.cramer(at)credativ(dot)ca
http://www.credativ.ca

On 14 November 2014 08:31, George Woodring <george(dot)woodring(at)iglass(dot)net>
wrote:

> I have 100 different customers with different timezones, I was trying to
> avoid having to put a lookup table to say if I am connecting to foo set the
> timezone to bar. GMT was just the example in the email.
>
> Thanks,
> George
>
> iGLASS Networks
> www.iglass.net
>
> On Fri, Nov 14, 2014 at 3:07 AM, Mikko Tiihonen <
> Mikko(dot)Tiihonen(at)nitorcreations(dot)com> wrote:
>
>> Would an acceptable workaround for you to change the Java default
>> timezone.
>>
>> Either start the JVM with -Duser.timezone=GMT
>>
>> or to invoke in your startup code
>> TimeZone.setDefault(TimeZone.get("GMT"));
>>
>>
>> -Mikko
>> ------------------------------
>> *From:* pgsql-jdbc-owner(at)postgresql(dot)org <pgsql-jdbc-owner(at)postgresql(dot)org>
>> on behalf of Dave Cramer <pg(at)fastcrypt(dot)com>
>> *Sent:* 13 November 2014 16:27
>> *To:* George Woodring
>> *Cc:* List
>> *Subject:* Re: [JDBC] Anyway to tell jdbc to use server timezone?
>>
>> Ah, OK, this was done for binary protocol. I seem to recall this is
>> somewhat defined in the spec according to setTimestamp.
>>
>> Is there a reason why you can't just override this in your code when
>> you get a connection ?
>>
>>
>>
>> Dave Cramer
>>
>> dave.cramer(at)credativ(dot)ca
>> http://www.credativ.ca
>>
>> On 13 November 2014 08:31, George Woodring <george(dot)woodring(at)iglass(dot)net>
>> wrote:
>>
>>> It is not the where case that is my issue. It is that the jdbc driver
>>> is changing my timezone from what I set with alter database to the timezone
>>> of my web server for any queries from the web server. What I would like is
>>> a way to keep the database timezone setting.
>>>
>>> When I log into my database with psql and show timezone I get "GMT",
>>> when I put a log into my java code and show timezone I get "US/Eastern".
>>> This is causing my data not to line up correctly around DST boundries,
>>> since the data was save at 12, 2, 4am GMT and it is trying to find data at
>>> 12, 2, 4am Eastern which is 12, 1, 3 am GMT
>>>
>>> Thanks
>>> George
>>>
>>> iGLASS Networks
>>> www.iglass.net
>>>
>>> On Wed, Nov 12, 2014 at 1:59 PM, Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
>>>
>>>> George,
>>>>
>>>> I looked at the stackoverflow example. I fail to see how the driver
>>>> would change the where clause.
>>>>
>>>> Can you create a self contained test case ?
>>>>
>>>> Dave Cramer
>>>>
>>>> dave.cramer(at)credativ(dot)ca
>>>> http://www.credativ.ca
>>>>
>>>> On 12 November 2014 13:48, George Woodring <george(dot)woodring(at)iglass(dot)net>
>>>> wrote:
>>>>
>>>>> I originally asked a question about adjusting timezone per db back
>>>>>
>>>>> 1B1B254441DB31448BD34C5BD73B0B8B2904B1(at)PHOENIX(dot)istructure(dot)com
>>>>> <http://www.postgresql.org/message-id/1B1B254441DB31448BD34C5BD73B0B8B2904B1@PHOENIX.istructure.com>
>>>>>
>>>>>
>>>>> And it was suggested that I set them per db, which I have. But now
>>>>> moving to
>>>>> 9.3 of the jdbc driver, it seems to set the timezone to the web
>>>>> server's timezone.
>>>>>
>>>>> I have found mentions
>>>>>
>>>>> CAAXGW-y==FOGGB7jVWhDsaugXV20qeXUcgZSiteQ7jfMXOKi-A(at)mail(dot)gmail(dot)com
>>>>> <http://www.postgresql.org/message-id/CAAXGW-y==FOGGB7jVWhDsaugXV20qeXUcgZSiteQ7jfMXOKi-A@mail.gmail.com>
>>>>>
>>>>>
>>>>> and
>>>>>
>>>>>
>>>>> http://stackoverflow.com/questions/18447995/postgresql-9-2-jdbc-driver-uses-client-time-zone
>>>>>
>>>>> My question here is is there a way to disable it and get the older
>>>>> functionality? Is there a command I could run after I get the connection
>>>>> to say "set timezone = 'server default'"?
>>>>>
>>>>> Thanks
>>>>> George Woodring
>>>>> iGLASS Networks
>>>>> www.iglass.net
>>>>>
>>>>
>>>>
>>>
>>
>

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Mikko Tiihonen 2014-11-14 15:04:07 Re: Anyway to tell jdbc to use server timezone?
Previous Message George Woodring 2014-11-14 13:31:55 Re: Anyway to tell jdbc to use server timezone?