Обсуждение: Re: [SQL] Argentinian timezone change at the last moment. How to change pgsql tz db?
Re: [SQL] Argentinian timezone change at the last moment. How to change pgsql tz db?
От
"Fernando Hevia"
Дата:
> Tom Lane [mailto:tgl@sss.pgh.pa.us] wrote: > > Since the OP has apparently already managed to get updated tzdata files > installed on his system, he could just copy them into > /usr/share/postgresql/timezone --- anything using zic should be a > compatible file format. > > The lack-of-ARST-on-input problem can be addressed by mucking with > /usr/share/postgresql/timezonesets/Default, if you're using 8.2. > In earlier versions the table is hardwired into datetime.c :-( > Summing up: After installing the updated tzdata files in the server I had to copy the America/Argentina/* files to /usr/share/postgresql/timezone in order to get postgres determine the correct local time. With 8.2.x the ARST abbreviation was recognized after including the following line in /usr/share/postgresql/8.2/timezonesets/Default ARST -14400 D # Argentina Summer Time postgres=# select '01:13:16.426 ARST Wed Jan 2 2008'::timestamp with time zone; timestamptz ---------------------------- 2008-01-02 01:13:16.426-02 (1 row) I wonder if pg_timezone_names plays any role in the ARST issue. It does contain the right data (appeared after copying tzdata into /usr/share/postgresql/timezone and restarting server) but ARST wasn't accepted till previous step was done. postgres=# select * from pg_timezone_names where abbrev = 'ARST'; name | abbrev | utc_offset | is_dst --------------------------------+--------+------------+-------- localtime | ARST | -02:00:00 | t America/Argentina/Rio_Gallegos | ARST | -02:00:00 | t America/Argentina/Mendoza | ARST | -02:00:00 | t America/Argentina/La_Rioja | ARST | -02:00:00 | t America/Argentina/Buenos_Aires | ARST | -02:00:00 | t America/Argentina/Cordoba | ARST | -02:00:00 | t America/Argentina/Catamarca | ARST | -02:00:00 | t America/Argentina/Ushuaia | ARST | -02:00:00 | t America/Argentina/Tucuman | ARST | -02:00:00 | t America/Argentina/Jujuy | ARST | -02:00:00 | t America/Argentina/San_Juan | ARST | -02:00:00 | t (11 rows) Thanks for all contributions. Regards, Fernando.
"Fernando Hevia" <fhevia@ip-tel.com.ar> writes: > With 8.2.x the ARST abbreviation was recognized after including the > following line in /usr/share/postgresql/8.2/timezonesets/Default > ARST -14400 D # Argentina Summer Time Um ... is that really offsetting in the correct direction? What I put into CVS was ARST -7200 D # Argentina Summer Time If that's wrong I need to know ... > I wonder if pg_timezone_names plays any role in the ARST issue. It does > contain the right data (appeared after copying tzdata into > /usr/share/postgresql/timezone and restarting server) but ARST wasn't > accepted till previous step was done. Too tired to experiment, but you may need a "pg_ctl reload" or even a restart to get PG to notice changes in your timezonesets file. regards, tom lane
Re: [SQL] Argentinian timezone change at the last moment. How to change pgsql tz db?
От
"Fernando Hevia"
Дата:
> Tom Lane [mailto:tgl@sss.pgh.pa.us] wrote: > > "Fernando Hevia" <fhevia@ip-tel.com.ar> writes: > > With 8.2.x the ARST abbreviation was recognized after including the > > following line in /usr/share/postgresql/8.2/timezonesets/Default > > > ARST -14400 D # Argentina Summer Time > > Um ... is that really offsetting in the correct direction? What I put > into CVS was > > ARST -7200 D # Argentina Summer Time > > If that's wrong I need to know ... > No, you are right: -7200 is the correct offset. Regards, Fernando.