В моем веб-приложении хранятся все временные метки в формате UTC без часовых поясов. У меня есть сценарий оболочки/psql, который возвращает список последних логинов, и я хочу, чтобы этот скрипт отображал время входа в локальный часовой пояс сервера (который может варьироваться в зависимости от того, где находится сервер и с летней экономией).Смещение локального часового пояса в PostgreSQL
Чтобы получить интервал, представляющий разницу между часовым поясом моей базы данных сервера и UTC, я в настоящее время с помощью этого хака:
SELECT age(now() at time zone 'UTC', now());
Это работает, но есть более простой способ?
Существует параметр конфигурации сервера, называемый «часовой пояс», который возвращает допустимую строку часового пояса, но я не думаю, что можно получить доступ к этим параметрам в запросе. (Я предполагаю, что это отдельный вопрос, но ответ на него будет решить вопрос о часовом поясе.)
Спасибо за вопрос. Я добавил абзац, объясняющий, почему я хочу получить разницу. – TimH