Diferenças entre timestamp e timestamptz no PostgreSQL

image_pdfimage_print

Timestamp é um campo que suporta data e hora.
Timestamptz suporta o mesmo que o campo timestamp, com a inclusão de ter o timezone.

Isto significa que no timestamp, por não possuir dados de fuso horário, que, quando for alterado o fuso horário do servidor de banco de dados, o valor do registro de data e hora armazenado no banco de dados não será alterado.

Os dados timestamptz são o registro de data e hora com o fuso horário. O timestamptz é um tipo de dado de data e hora com reconhecimento de fuso horário. O PostgreSQL armazena o timestamptz no valor UTC. Quando você insere um valor em uma coluna timestamptz, o PostgreSQL converte o valor timestamptz em um valor UTC e armazena o valor UTC na tabela.

Quando você consulta o timestamptz do banco de dados, o PostgreSQL converte o valor UTC de volta para o valor de hora do fuso horário definido pelo servidor de banco de dados, pelo usuário ou pela conexão atual com o banco de dados.

Observe que o timestamp e o timestamptz usam 8 bytes para armazenar o valor do registro de data e hora, conforme mostrado na consulta a seguir:

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!