Re: [pgsql-hackers-win32] Timezone database questions
От | Magnus Hagander |
---|---|
Тема | Re: [pgsql-hackers-win32] Timezone database questions |
Дата | |
Msg-id | 6BCB9D8A16AC4241919521715F4D8BCE17166E@algol.sollentuna.se обсуждение исходный текст |
Ответы |
Re: [pgsql-hackers-win32] Timezone database questions
|
Список | 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 по дате отправления: