принятый ответ от Мухаммед Усама правильный.
Имя параметра конфигурации
Этот ответ показывает, как задать параметр конфигурации, специфичный для Postgres, с помощью следующего:
SET timezone TO 'UTC';
… где timezone
не является командой SQL, это имя параметра конфигурации.
См. документацию для этого .
Стандартная команда SQL
В качестве альтернативы, вы можете использовать SQLкоманда, определенная спецификацией SQL: SET TIME ZONE
.В этом синтаксисе пара слов TIME ZONE
заменяет «часовой пояс» (фактическая команда SQL в сравнении с именем параметра), и «TO» отсутствует.
SET TIME ZONE 'UTC';
И эта команда, и приведенная выше имеют одинаковыеэффект, чтобы установить значение только для текущего сеанса.Чтобы сделать изменение постоянным, см. ответ родного брата .
См. документацию для этого .
Название часового пояса
Вы можете указать правильное имя часового пояса .Большинство из них континент / регион.
SET TIME ZONE 'Africa/Casablanca';
… или…
SET TIME ZONE 'America/Montreal';
Избегайте 3 или 4-буквенных сокращений , таких как EST
или IST
, поскольку они не являются ни стандартизированными, ни уникальными.
Получить текущую зону
Чтобы увидеть текущий часовой пояс для сеанса, попробуйте любой из следующих операторов.Технически мы вызываем команду SHOW
для отображения параметра времени выполнения.
SHOW timezone ;
… или…
SHOW time zone ;
США / Тихий океан