Modifique o fuso horário da instância ApsaraDB RDS for PostgreSQL se a configuração atual não atender aos requisitos de negócio ou se a aplicação processar dados em vários fusos horários. Essa alteração garante a conversão e a exibição corretas dos dados entre diferentes fusos.
Pré-requisitos
Tenha uma instância ApsaraDB RDS for PostgreSQL com discos cloud.
Observações de uso
A instrução
SET timezoneaplica-se apenas à sessão atual e não é persistente. Para tornar a alteração permanente, modifique o parâmetro conforme descrito em Defina parâmetros da instância.-
Para definir um fuso horário para um banco de dados específico, execute esta instrução:
ALTER DATABASE <database_name> SET timezone TO '<time_zone_name>';.NotaPara redefinir o fuso horário de um banco de dados para o padrão do sistema, execute esta instrução:
ALTER DATABASE <database_name> SET timezone TO DEFAULT;. -
O PostgreSQL oferece dois tipos de dados para armazenar timestamps: TIMESTAMP e TIMESTAMPTZ. Escolha o tipo adequado conforme as necessidades do negócio:
TIMESTAMP: Armazena valores de data e hora em UTC, mas não guarda informações de fuso horário. Se você modificar o fuso horário conforme descrito neste tópico, os resultados das consultas para este tipo de dado permanecerão inalterados.
TIMESTAMPTZ: Este tipo considera o fuso horário. Ao armazenar um timestamp, o PostgreSQL o converte para UTC. Na recuperação dos dados, ele converte de UTC para o fuso horário configurado na instância ou na sessão. Caso o fuso horário seja modificado conforme este tópico, os resultados das consultas refletirão automaticamente a nova configuração.
Modificar o fuso horário
Para instâncias ApsaraDB RDS for PostgreSQL com discos cloud, acesse a página Parameters no console e modifique o parâmetro timezone. Para obter instruções detalhadas, consulte Defina parâmetros da instância.
O valor padrão do parâmetro timezone é Asia/Shanghai. A modificação desse parâmetro não exige reinicialização da instância.
Instâncias ApsaraDB RDS for PostgreSQL com Premium Local SSD não suportam o parâmetro timezone.
Visualize fusos horários suportados
Para visualizar todos os fusos horários suportados, execute este comando:
SELECT name,utc_offset FROM pg_timezone_names;
Para mais informações sobre a tabela pg_timezone_names, consulte pg_timezone_names.
Documentos relacionados
Se o parâmetro de fuso horário não for configurado durante a criação da instância, o sistema atribuirá um fuso horário padrão com base na região. Para obter uma lista de regiões e seus respectivos nomes de fuso horário padrão, consulte Default time zone names for ApsaraDB RDS for PostgreSQL instances by region.
O ApsaraDB RDS for PostgreSQL aceita apenas nomes de fusos horários, e não deslocamentos UTC. Para ver uma lista de nomes de fusos horários comuns, consulte List of common time zone names for ApsaraDB RDS for PostgreSQL instances.
-
Também é possível usar uma operação de API para modificar o parâmetro timezone.
API
Descrição
Modifica parâmetros da instância