> 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.