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ê vê 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: