Обсуждение: 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.