Re: [pgsql-ru-general] Косяки с отменой летнего времени
От | Alexey Klyukin |
---|---|
Тема | Re: [pgsql-ru-general] Косяки с отменой летнего времени |
Дата | |
Msg-id | 336E1118-3DD6-4773-90B4-6A4232D37D17@commandprompt.com обсуждение исходный текст |
Ответы |
Re: Косяки с отменой летнего времени
|
Список | 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@~=# SHOW timezone; > TimeZone > --------------- > Europe/Moscow > > fduch@~=# SET datestyle TO German ; > SET > fduch@~=# SELECT date_trunc('month', '01.09.2011 00:00:00 MSK'::timestamptz); > date_trunc > ------------------------- > 01.09.2011 00:00:00 MSK > > fduch@~=# SELECT date_trunc('month', '01.09.2011 00:00:00 MSK'::timestamptz) = '01.09.2011'::timestamptz; > ?column? > ---------- > t > > fduch@~=# SELECT date_trunc('month', '01.09.2011 00:00:00 MSK'::timestamptz) = '01.09.2011 00:00:00 MSK'::timestamptz; > ?column? > ---------- > f > > fduch@~=# 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@~=# 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@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-ru-general /A
В списке pgsql-ru-general по дате отправления: