O `TIMESTAMPTZ` do PostgreSQL é um tipo de dados que armazena data e hora com informações de fuso horário. Ele é essencial para aplicativos que requerem uma marcação precisa da hora em diferentes fusos horários.
Uso
O tipo `TIMESTAMPTZ` é usado para armazenar dados de carimbo de data/hora que levam em conta as diferenças de fuso horário, garantindo a consistência em aplicativos sensíveis ao tempo. Ele é frequentemente utilizado em cenários que envolvem transações de dados globais e eventos de registro. Internamente, o `TIMESTAMPTZ` armazena todos os carimbos de data e hora em UTC e os converte de acordo com a configuração de fuso horário do cliente na recuperação, garantindo a consistência em diferentes regiões.
Aqui, a função `NOW()` obtém a data e a hora atuais, ajustadas automaticamente ao fuso horário do servidor, e as converte em `TIMESTAMPTZ`.
3. Conversão de TIMESTAMPTZ para outro fuso horário
sql
SELECT event_name,
event_timestamp ATTIMEZONE'America/New_York'AS event_time_est
FROM event_logs;Tecnologia
Esse exemplo converte o `TIMESTAMPTZ` armazenado em Eastern Standard Time (EST) para fins de exibição e não altera o carimbo de data/hora armazenado.
Dicas e práticas recomendadas
Use o TIMESTAMPTZ para aplicativos globais. Ele garante a consistência do tempo em diferentes regiões.
Tenha em mente as conversões de fuso horário. Sempre especifique o fuso horário ao converter ou comparar registros de data e hora.
Aproveite as funções incorporadas. Use as funções do PostgreSQL, como `NOW()` ou `CURRENT_TIMESTAMP`, para obter um registro de data e hora dinâmico.
Tenha em mente a eficiência do armazenamento. Embora o `TIMESTAMPTZ` seja eficiente, garanta sua necessidade, pois ele pode consumir mais armazenamento do que o `TIMESTAMP` sem um fuso horário. Considere o uso de `TIMESTAMP` sem fuso horário para aplicativos localizados em que os fusos horários não são uma preocupação.
Defina corretamente o parâmetro de configuração `timezone` do servidor PostgreSQL. Isso garante o comportamento esperado das conversões de fuso horário e a recuperação precisa da hora.
Considere as mudanças no horário de verão (DST). O `TIMESTAMPTZ` se ajusta automaticamente ao horário de verão, o que é fundamental para aplicativos sensíveis a mudanças de horário. Verifique se as configurações de fuso horário do servidor tratam o horário de verão adequadamente.
O `TIMESTAMPTZ` do PostgreSQL é um tipo de dados que armazena data e hora com informações de fuso horário. Ele é essencial para aplicativos que requerem uma marcação precisa da hora em diferentes fusos horários.
Uso
O tipo `TIMESTAMPTZ` é usado para armazenar dados de carimbo de data/hora que levam em conta as diferenças de fuso horário, garantindo a consistência em aplicativos sensíveis ao tempo. Ele é frequentemente utilizado em cenários que envolvem transações de dados globais e eventos de registro. Internamente, o `TIMESTAMPTZ` armazena todos os carimbos de data e hora em UTC e os converte de acordo com a configuração de fuso horário do cliente na recuperação, garantindo a consistência em diferentes regiões.
Nessa sintaxe, `event_timestamp TIMESTAMPTZ` armazena a hora exata do evento, incluindo o fuso horário.
Exemplos
1. Inserção básica de TIMESTAMPTZ
Este exemplo insere um evento com um registro de data e hora específico em UTC, incluindo informações de fuso horário UTC.
2. Recuperação do TIMESTAMPTZ atual
Aqui, a função `NOW()` obtém a data e a hora atuais, ajustadas automaticamente ao fuso horário do servidor, e as converte em `TIMESTAMPTZ`.
3. Conversão de TIMESTAMPTZ para outro fuso horário
Esse exemplo converte o `TIMESTAMPTZ` armazenado em Eastern Standard Time (EST) para fins de exibição e não altera o carimbo de data/hora armazenado.
Dicas e práticas recomendadas