Re: BUG #17244: strange string to timestamp with time zone conversion due to summer time / winter time switch ?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #17244: strange string to timestamp with time zone conversion due to summer time / winter time switch ?
Дата
Msg-id 2712289.1634916436@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #17244: strange string to timestamp with time zone conversion due to summer time / winter time switch ?  (PG Bug reporting form <noreply@postgresql.org>)
Список pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> With current_setting('timezone') = 'Europe/Brussels', the following
> conversion results are quite strange :

> SELECT '2003-03-30 02:59:59'::timestamp with time zone < '2003-03-30
> 03:00:00'::timestamp with time zone returns False which sounds  strange.

Well, you're asking a silly question and getting a silly answer.

In that zone, clocks advanced from 1:59:59 directly to 3:00:00 on
that day, so that the time 02:59:59 didn't really exist.  Our approach
for such cases is to assume that the invalid time is meant to represent
local standard time, making it 0:59:59 later than the DST transition
instant, while 03:00:00 is read as exactly the transition instant.
See

https://www.postgresql.org/docs/current/datetime-invalid-input.html

> This behavior might be not understandable from a user standpoint and may
> conduct to some errors in the system. I would suggest to forbid the
> conversion to timestamp with time zone for strings between '2003-03-30
> 02:00:00' and '2003-03-30 02:59:59' with an explicit error message saying
> that the resulting timestamp doesn't correrspond to a real time due to the
> winter time / summer time switch.

If you'd made that suggestion about twenty years ago, we might have
taken it, but at this point backwards compatibility is a pretty strong
argument for not changing it.  In any case, there's lots of precedent
for this type of behavior, eg mktime(3) acts similarly on most Unix
platforms.

            regards, tom lane



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Marek Läll
Дата:
Сообщение: Re: BUG #17244: strange string to timestamp with time zone conversion due to summer time / winter time switch ?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Inconsistent behavior of pg_dump/pg_restore on DEFAULT PRIVILEGES