0

Я пытаюсь понять, как PostgreSQL обрабатывает TIMESTAMP с типом TIMEZONE, и я сталкиваюсь с несоответствием между теорией и практикой.Postgresql хранит информацию о часовом поясе в TIMESTAMP WITH TIMEZONE?

Согласно документации и других сообщений переполнения стека,

Для временной метки с часовым поясом, внутренне сохраненное значение всегда в UTC ... Когда метка времени со значением часового пояса выводится, всегда преобразованный из UTC в текущую зону часового пояса.

Я считаю, что это означает, что все временные метки в любом задании SELECT будут в том же/текущем часовом поясе. Тем не менее, это то, что я вижу: enter image description here

interview_timestamp - TIMESTAMP WITH TIMEZONE. Это дует мой разум.

+0

Посмотреть это сообщение: http://stackoverflow.com/questions/5876218/difference- между-timestamps-with-without-time-zone-in-postgresql –

+0

Возможный дубликат [Разница между отметками времени с/без часового пояса в PostgreSQL] (http://stackoverflow.com/questions/5876218/difference-between-timestamps- with-without-time-zone-in-postgresql) –

+0

Что выводит psql? – teppic

ответ

1

Странно, что вы иногда видите смещение часового пояса, а иногда и нет, я бы обвинил его в графическом интерфейсе, который вы используете. Попробуйте с psql и посмотрите, как выглядят данные.

Смещение “ -05: 44: 38 ” совершенно нормально, поскольку time zones было введено в конце 19-го века, а до этого использовалось местное солнечное время.

0

Просто для записи это была действительно клиентская вещь, и это связано с тем, что смещение от UTC зависит от времени года (EDT: -4, EST: -5). Смещение «-05: 44: 38» также является правильным, это компенсируется в базе данных TZ для EDT/EST в течение многих лет до 1883 года.

Смежные вопросы