172 похожих чатов

Привет. Может кто подсказать, почему может не работать set time

zone.
Есть два сервера с постгресом 9.6.20. На обоих установлена таймзона Europe/Moscow (что в постгресе, что на самом сервере).

Выполняю набор команд на одном сервере:
set time zone 'Europe/Moscow';
SELECT '2021-03-17T12:34:11+00:00'::timestamptz::timestamp; # получаю 15:34

set time zone 'utc';
SELECT '2021-03-17T12:34:11+00:00'::timestamptz::timestamp; # получаю 12:34

А вот на втором сервере:
set time zone 'Europe/Moscow';
SELECT '2021-03-17T12:34:11+00:00'::timestamptz::timestamp; # получаю 15:34

set time zone 'utc';
SELECT '2021-03-17T12:34:11+00:00'::timestamptz::timestamp; # получаю 15:34
В чем может быть причина такой разницы?

9 ответов

11 просмотров

Казалось бы, time zone почему-то не устанавливается. Вы такой запрос попробуйте, например: SELECT '2021-03-17T12:34:11+00:00'::timestamptz, '2021-03-17T12:34:11+00:00'::timestamptz::timestamp; Первое поле — для того, чтобы было видно смещение текущей time zone.

Andrey-Lemets Автор вопроса
Yaroslav Schekin
Казалось бы, time zone почему-то не устанавливаетс...

В обоих случаях возвращается 2021-03-17 15:34:11+03 То есть ощущение, что set time zone не применяется. При этом show time zone возвращает именно установленное значение. Магия какая-то

Andrey Lemets
В обоих случаях возвращается 2021-03-17 15:34:11+0...

Значит, действительно не применяется, казалось бы. Можно и "current_setting('TimeZone')" добавить именно в этот запрос. А каким клиентом выполняются запросы? Если не psql — проверьте в нём. Или, может, где-то есть connection pooler (транзакционный)? Если нет — покажите "SELECT version();" с каждого сервера.

Andrey-Lemets Автор вопроса
Yaroslav Schekin
Значит, действительно не применяется, казалось бы....

Версия совпадает PostgreSQL 9.6.20 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit Запросы делаю через psql без каких-либо прослоек.

Andrey Lemets
Версия совпадает PostgreSQL 9.6.20 on x86_64-pc-l...

Очень странно... возможно, что там что-то не так с tzdata (я что-то подобное когда-то слышал)? Добавьте current_setting('TimeZone') в запросы и перепроверьте, всё же (мало ли что).

Andrey-Lemets Автор вопроса
Yaroslav Schekin
Очень странно... возможно, что там что-то не так с...

Перепроверил. Настройки задаются корректно. Спасибо, посмотрю в сторону tzdata.

Andrey Lemets
Перепроверил. Настройки задаются корректно. Спаси...

Ну а другие варианты указания UTC (например, Etc/UTC и т.п.) работают? Что там в pg_timezone_names и pg_timezone_abbrevs на "проблемном" сервере?

Andrey-Lemets Автор вопроса
Yaroslav Schekin
Ну а другие варианты указания UTC (например, Etc/U...

Да, большое спасибо! Проблема в этих таблицах. Они в utc-строках содержат московское смещение...

Andrey Lemets
Да, большое спасибо! Проблема в этих таблицах. Он...

Ничего себе (додумался же кто-то). Не за что! ;)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта