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




Re: [SQL] Argentinian timezone change at the last moment. How to change pgsql tz db?

От
Tom Lane
Дата:
"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.