Junior
Stai creando una tabella audit_logs in cui devi memorizzare la data e l'ora esatte con fuso orario. Qual è il tipo di dato più appropriato? ora con fuso orario intervallo timestamp con fuso orario data timestamp senza fuso orario
sobes.tech AI
Risposta dell'AI
Для хранения даты и точного времени с часовым поясом в таблице audit_logs наиболее подходит тип данных timestamp with time zone. Он сохраняет дату и время с учётом часового пояса, что важно для корректного учёта времени в разных регионах.
- time with time zone хранит только время суток с часовым поясом, без даты.
- interval — это интервал времени, не подходит для отметки конкретного момента.
- date хранит только дату без времени.
- timestamp without time zone хранит дату и время, но без информации о часовом поясе, что может привести к ошибкам при работе с разными часовыми поясами.
Пример в PostgreSQL:
CREATE TABLE audit_logs (
id SERIAL PRIMARY KEY,
event_time TIMESTAMP WITH TIME ZONE NOT NULL,
event_description TEXT
);