@miguel_ritchie
Для добавления времени с часовым поясом в базу данных PostgreSQL есть несколько способов. Один из таких способов - использование типа данных timestamp with time zone
или timestamptz
для сохранения времени вместе с информацией о часовом поясе.
Пример создания таблицы с полем типа timestamptz
:
1 2 3 4 |
CREATE TABLE my_table ( id SERIAL PRIMARY KEY, created_at timestamptz ); |
Пример добавления значения времени с часовым поясом в таблицу:
1
|
INSERT INTO my_table (created_at) VALUES ('2021-01-01 12:00:00+05'); |
В этом примере +05
обозначает часовой пояс смещения вперед относительно UTC на 5 часов.
Вы также можете использовать функции now()
или current_timestamp
для добавления текущего времени вместе с часовым поясом:
1
|
INSERT INTO my_table (created_at) VALUES (now()); |
При выборке данных, PostgreSQL автоматически преобразует значения времени в часовой пояс клиента, заданный в настройках сервера или сессии.
1
|
SELECT * FROM my_table; |
Обратите внимание, что для правильного отображения времени в разных часовых поясах, вам может потребоваться настроить параметры часовых поясов в конфигурационном файле (postgresql.conf) или в файле настроек сеанса пользователя (postgresql.auto.conf или с помощью команды SET
).