Re: 7.2 Beta timezone woes

From: Elein <elein(at)nextbus(dot)com>
To: lockhart(at)fourpalms(dot)org
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: 7.2 Beta timezone woes
Date: 2002-01-15 01:53:11
Message-ID: 3C438B87.5080705@nextbus.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks, you all. I was able to finesse the problem
by isolating the calculation and display in a subprocess
of the client which let me set PGTZ based on the timezone
recorded separately for the dataset.

We, here, brought up the idea of storing the timestamps
w/o timezones and I'm not sure, but that may be the broader
solution.

thanks

elein

Thomas Lockhart wrote:

>>>>The way it is puts the burden entirely on the client to figure out
>>>>what timezone the data is for and force the appropriate
>>>>timezone( 'MST', value) formatting to it for arithmetic and display.
>>>>
>>>It seems like you are entirely missing the point. The idea is that
>>>the client storing a time value presents it in his local timezone;
>>>the internal storage is an *absolute* time (independent of any timezone
>>>... the fact that the internal representation is GMT is merely a remnant
>>>of 18th-century British imperialism); and any client who asks for the
>>>value gets it presented in *his* local timezone.
>>>
>>With a client in california, I want to do (timestamptz - time)
>>where both values are "in MST' and display the results and the
>>timestamptz in MST time. While still having my client set
>>to PST.
>>
>
> So in this case (which may be simpler than your actual application) the
> time zone information is not really used at all, right? At least
> internally; maybe the new client cares what time zone was used for the
> calculation?
>
>
>>I have times from various locations that I want to
>>display in their own timezone. I only know what their
>>timeszones are when I input them.
>>
>
> You *might* want to store a timestamp with out time zone and a character
> string time zone as a separate field. Or you could store the timestamp
> with time zone and a separate character field for the time zone of
> original data entry (I like this better).
>
> You can convert back and forth to different time zones (mostly intended
> for display purposes) by using the timezone() function:
>
> thomas=# set time zone 'PST8PDT';
> SET VARIABLE
> thomas=# select timestamp 'now', timezone('EST', timestamp 'now') || ' '
> || 'EST';
> timestamptz |
> ?column?
> -------------------------------------+-------------------------------------
> Mon Jan 14 16:31:13.724333 2002 PST | Mon Jan 14 19:31:13.724333 2002
> EST
>
> You can also use extract('timezone' from xxx) to get ahold of a numeric
> time zone offset, but matching that back up with a stringy offset is not
> obvious.
>
>
>>Or maybe I should write a new timestamp_fixedtz type :-)
>>
>
> I'm not sure that the range of math and display options you want could
> be magically fixed by using a single new type. You still have a data
> conversion issue between time zones, and a representation issue if you
> want to use "stringy time zones" rather than numeric time zone offsets.
>
> hth
>
> - Thomas
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
>

--
--------------------------------------------------------
elein(at)nextbus(dot)com
(510)420-3120
www.nextbus.com
spinning to infinity, hallelujah
--------------------------------------------------------

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Doug McNaught 2002-01-15 02:18:47 Re: Very large database
Previous Message Thomas Lockhart 2002-01-15 00:40:10 Re: 7.2 Beta timezone woes