TIMESTAMPTZ
Тип данных для хранения даты и времени с часовым поясом. Рекомендуется вместо TIMESTAMP.
column TIMESTAMPTZ DEFAULT NOW()
column TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMPОбъяснение
Пример
-- Сравнение типов
SELECT
NOW()::TIMESTAMP, -- локальное время без TZ
NOW()::TIMESTAMPTZ, -- UTC + TZ
NOW() AT TIME ZONE 'Europe/Moscow'; -- перевод в московское времяСвязанные термины
Анекдоты по теме
Программист: SELECT * FROM users WHERE created_at > '2024-01-01' Результат: 0 строк Программист: но данные есть! DBA: а тип колонки created_at какой? Программист: VARCHAR. DBA: (глубокий вздох)
— Что такое materialized path для деревьев? — Храним путь от корня в строке: '1/4/7/12' — Поиск всех потомков: WHERE path LIKE '1/4/%' — Плюсы? — Простота. Быстрый поиск поддерева. — Минусы? — Перемещение узла — обновить все потомки. — Альтернативы? — nested sets, closure table, рекурсивный CTE.
— Зачем нужен CHECK constraint? — Чтобы база сама проверяла правила. — Пример? — ALTER TABLE products ADD CONSTRAINT price_positive CHECK (price > 0); Теперь нельзя вставить товар с отрицательной ценой. — А если попробовать? — ERROR: new row violates check constraint.