Re: [pgsql-hackers-win32] Timezone database questions - Mailing list pgsql-interfaces

From Magnus Hagander
Subject Re: [pgsql-hackers-win32] Timezone database questions
Date
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE17166E@algol.sollentuna.se
Whole thread Raw
Responses Re: [pgsql-hackers-win32] Timezone database questions  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-interfaces
>> >1)  How do we set the default local timezone for our
>database?  The OS
>> >knows the local timezone.  How do we set our local timezone
>on Win32?
>> >On Unix?  (On Unix, there is usually an /etc/localtime file that is
>> >created during install.)  Perhaps we can query the current timezone
>> >specification (e.g. EDT), and do some kind of lookup.  I
>know of no way
>> >to get the full specification, e.g. EST5EDT or America/New_York.
>>
>> Could we just require that it is configured through postgresql.conf?
>> IIRC there is a parameter to set it there. IMO, that would be enough.
>
>We would get too many problem reports we would get if we always
>defaulted the database timezone to GMT.  We have to set the default,
>perhaps during initdb.  (I just posted something else explaining why we
>should have initdb set sharedir and libdir too.)

Set the defualt timezone at initdb sounds a bit weird. Again, timezone
stuff is only used to present data, not to change it. You can even
change it during a transaction. Setting the default at inidb seems
weird. If you want to set the default, use postgresql.conf. Otherwise,
we need to pick it up somewhere else.


>> If not, we can use GetTimeZoneInformation(). It returns the standard
>> name (amongst other things) of the tz configured in the system.
>
>Yep, we will need that, and for Unix too.

Can't tell you how to do it on Unix :-(


>> Or do nothing. On unix it defaults to the value of the TZ environment
>> variables. If you set that one before you start it, you get the same
>> behaviour. In that case, I'd still say we *recommend* setting it in
>> postgresql.conf, but it will still work.
>
>Right now I think it defaults to the OS timezone if you don't
>set PGTZ.
>We can't require everyone to set PGTZ to get a reasonable default
>timezone.

Note - TZ, not PGTZ. At least it says so in the postgresql.conf that is
installed. So it's at least a standard env variable, and not a PG only
one. I don't know how often this one is actually set, though.



//Magnus

pgsql-interfaces by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [pgsql-hackers-win32] Timezone database questions
Next
From: Michael Meskes
Date:
Subject: Re: [HACKERS] ecpg and the timezone database