Загрузка...

Имя обманывает. TIMESTAMP WITH TIME ZONE не хранит часовой пояс.

Внутри Postgres лежит просто UTC-таймстамп — int. Часовой пояс используется один раз: при вставке (чтобы перевести значение в UTC) и при чтении (чтобы показать в твоей локальной зоне). Сам TZ нигде не сохраняется.

Вставил «12:00 по Москве» — Postgres сохранил 09:00 UTC. Прочитал из Нью-Йорка — увидел 04:00. Один и тот же момент, разные представления.

А вот TIMESTAMP (без TZ) — это «локальное время как есть», без любых конвертаций.

Правило:
• TIMESTAMPTZ — для всех моментов (логи, события, дедлайны)
• TIMESTAMP — для локальных часов (расписание «в 14:30 по местному»)

Учись Postgres → sql-academy.org

#postgres #sql #backend #database #devtips

Видео Имя обманывает. TIMESTAMP WITH TIME ZONE не хранит часовой пояс. канала SQL Academy
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять