Я працюю над дизайном DB PostgreSQL і мені цікаво, як краще зберігати часові позначки.
Припущення
Користувачі в різних часових поясах використовуватимуть базу даних для всіх функцій CRUD.
Я переглянув 2 варіанти:
timestamp NOT NULL DEFAULT (now() AT TIME ZONE 'UTC')
bigint NOT NULL DEFAULT
Бо timestamp
я б надіслав рядок, який би представляв точну (UTC) часову позначку для моменту ВСТАВКИ.
Бо bigint
я б зберігав абсолютно те саме, але у форматі чисел. (Проблеми з часовим поясом обробляються перед передачею на сервер мільйонів, тому завжди розміщуйте мільйони в UTC.)
Однією з головних переваг зберігання файлу bigint
може бути те, що його буде простіше зберігати та витягувати, оскільки передача правильно відформатованої часової позначки є складнішою за просте число (міліс з моменту Unix Epoc).
Моє запитання - який з них дозволить отримати найбільш гнучку конструкцію і які можуть бути підводні камені кожного підходу.