PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

PostgreSQL despeja e restaura em fuso horário diferente


O Postgres o tipo de dados timstamptz ( =timestamp with time zone ) armazena valores como timestamp UTC internamente (valor inteiro contando microssegundos desde 2000), que é independente do fuso horário em que esses valores são exibidos por. Ele não armazene qualquer informação de fuso horário como alguns podem pensar, julgando mal o nome. Você pode despejar e restaurar o quanto quiser.

O que você em seu cliente depende da configuração de fuso horário da sessão.

Execute (na mesma sessão para evitar artefatos):
SHOW timezone;

Se você vir localtime então o Postgres usa a configuração padrão do sistema operacional do seu servidor.

Defina um fuso horário diferente (na sua sessão com SET timezone = ...; , para seu usuário ou globalmente nos arquivos de configuração) para ver seus timestamps formatados de forma diferente. Esteja ciente de que a configuração de fuso horário em seu arquivo de despejo não tem algum efeito neste caso, apenas a configuração da sua sessão atual tem.

Explicação detalhada nesta resposta relacionada:

Sobre as várias maneiras de definir variáveis ​​de ambiente: