Re: [pgsql-ru-general] Косяки с отменой летнего времени

From: Alexey Klyukin <alexk(at)commandprompt(dot)com>
To: Alexander M(dot) Pravkin <fduch(at)antar(dot)bryansk(dot)ru>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Косяки с отменой летнего времени
Date: 2011-10-03 10:18:20
Message-ID: 336E1118-3DD6-4773-90B4-6A4232D37D17@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

On Sep 8, 2011, at 5:40 PM, Alexander M. Pravkin wrote:

> Обновил сегодня системную zoneinfo (FreeBSD 8.2), привязал к ней же
> postgresql (в 8.4.8 ещё не внесли tzdata 2011i).

На момент вопроса решения я не знал, но в списке изменений 8.4.9 есть упоминание про апдейт информации о часовых поясах, думаю что проблема уже решена.

>
> Напоролся на интересный косяк:
>
> fduch(at)~=# SHOW timezone;
> TimeZone
> ---------------
> Europe/Moscow
>
> fduch(at)~=# SET datestyle TO German ;
> SET
> fduch(at)~=# SELECT date_trunc('month', '01.09.2011 00:00:00 MSK'::timestamptz);
> date_trunc
> -------------------------
> 01.09.2011 00:00:00 MSK
>
> fduch(at)~=# SELECT date_trunc('month', '01.09.2011 00:00:00 MSK'::timestamptz) = '01.09.2011'::timestamptz;
> ?column?
> ----------
> t
>
> fduch(at)~=# SELECT date_trunc('month', '01.09.2011 00:00:00 MSK'::timestamptz) = '01.09.2011 00:00:00 MSK'::timestamptz;
> ?column?
> ----------
> f
>
> fduch(at)~=# select
> extract(epoch from date_trunc('month', '01.09.2011 00:00:00 MSK'::timestamptz)),
> extract(epoch from '01.09.2011'::timestamptz),
> extract(epoch from '01.09.2011 00:00:00 MSK'::timestamptz);
> date_part | date_part | date_part
> ------------+------------+------------
> 1314820800 | 1314820800 | 1314824400
>
>
> Всё это связано с тем, что наша нынешняя TZ называется MSK и имеет +0400
> без DST, а у PG прописано:
>
> fduch(at)~=# SELECT * from pg_timezone_abbrevs where abbrev in ('MSK','MSD');
> abbrev | utc_offset | is_dst
> --------+------------+--------
> MSD | 04:00:00 | t
> MSK | 03:00:00 | f
>
> То есть output у него "правильный", а input из расчёта что MSK -- это
> GMT+3
>
> Вопрос вытекает сам собой: и что теперь делать-то? Может, кто-то уже
> сталкивался?
>
>
> --
> Alexander M. Pravkin
>
> --
> Sent via pgsql-ru-general mailing list (pgsql-ru-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-ru-general

/A

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Evgeny M. Baldin 2011-10-04 10:34:27 Read only сервера с одного массива данных
Previous Message Dmitriy Igrishin 2011-09-19 18:50:50 Re: [pgsql-ru-general] Rule'ы и ссылки на другие таблицы