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