Тут никакого кода нет, только какая-то картинка. > В моём понимании, информация о таймзонах должна была обрезаться на вставке Странно... вроде бы, в документации были объяснения, с примерами... Ладно, по шагам: timezone('Europe/Moscow', '2020-06-11 08:28:27'::timestamp AT time ZONE 'utc'), Работает так: 1. '2020-06-11 08:28:27'::timestamp AT TIME ZONE 'UTC' — это "вот тебе снимок, он был сделан в time zone UTC, преобразуй его в абсолютное время". Результат: '2020-06-11 08:28:27+00' (или эквивалентное '2020-06-11 11:28:27+03' и т.д. и т.п. — что Вы увидите, зависит только от timezone сессии, но это один и тот же момент времени, timestamptz). 2. timezone('Europe/Moscow', timestamptz_выше) — это "покажи мне, который был час / день в данный момент времени в Москве". Результат — "снимок", timestamp. Аналогично и для Лондона. 3. Далее, Вы пытаетесь эти "снимки" вставить в таблицу, где хранятся моменты времени. Для этого нужно преобразовать типы, в процессе преобразования используется time zone сессии (а какая ещё?). Поэтому и получается такой результат. Т.е. всё это правильно и просто. ;)
Обсуждают сегодня