X-Original-To: pgsql-hackers-win32-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 27A3BD1EDE1; Sun, 2 May 2004 15:17:03 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 69408-06; Sun, 2 May 2004 15:16:44 -0300 (ADT) Received: from candle.pha.pa.us (candle.pha.pa.us [207.106.42.251]) by svr1.postgresql.org (Postfix) with ESMTP id 479A7D1EE95; Sun, 2 May 2004 15:16:41 -0300 (ADT) Received: (from pgman@localhost) by candle.pha.pa.us (8.11.6/8.11.6) id i42IGeY14702; Sun, 2 May 2004 14:16:40 -0400 (EDT) From: Bruce Momjian Message-Id: <200405021816.i42IGeY14702@candle.pha.pa.us> Subject: Re: Timezone database questions In-Reply-To: <6BCB9D8A16AC4241919521715F4D8BCE17166E@algol.sollentuna.se> To: Magnus Hagander Date: Sun, 2 May 2004 14:16:40 -0400 (EDT) Cc: PostgreSQL-development , PostgreSQL-interfaces , PostgreSQL Win32 port list X-Mailer: ELM [version 2.4ME+ PL108 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Virus-Scanned: by amavisd-new at postgresql.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200405/11 X-Sequence-Number: 944 Magnus Hagander wrote: > >> >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. Yea, sorry, I meant to say we need to pick up the local timezone on postmaster start. > >> 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. Yes, sorry, TZ. It is not set on my box. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073