Различные TimeZone выводят неправильные значения - PullRequest
1 голос
/ 11 марта 2019

Мне интересно, почему я получаю разные времена из этого поста Пост

set timezone to 'UTC';

SELECT timestamptz '2012-03-05 17:00:00+0';  
Expected :2012-03-05 17:00:00+00
Got : 2012-03-05 22:30:00

SET timezone TO 'Europe/Berlin';

SELECT '2012-03-05 17:00:00+0'::timestamptz;  
Expected :  2012-03-05 18:00:00+01
Got: 2012-03-05 22:30:00



SELECT timestamptz '2012-03-05 18:00:00+1';
Expected : 2012-03-05 17:00:00+00
Got : 2012-03-05 22:30:00

Ответы [ 3 ]

0 голосов
/ 12 марта 2019

Ваши ожидания верны.Проблема должна заключаться в том, что вы выполняете операторы в разных сеансах базы данных.

Область действия SET ограничена текущим сеансом.

0 голосов
/ 16 марта 2019

На самом деле я использую DBeaver в качестве IDE БД, и там нам нужно внести некоторые изменения в dbeaver.ini.

0 голосов
/ 11 марта 2019

Я считаю, что проблема в том, как вы устанавливаете часовой пояс.

Можете ли вы попробовать изменить SET timezone TO на SET TIME ZONE и посмотреть, работает ли он?

Вы можете увидеть документацию ниже для получения дополнительной помощи: https://www.postgresql.org/docs/9.1/datatype-datetime.html#DATATYPE-TIMEZONES

...