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 manipular dados em vários fusos horários. Essa alteração garante a conversão e exibição corretas dos dados entre diferentes fusos.
Pré-requisitos
É necessário ter uma instância ApsaraDB RDS for PostgreSQL com discos em nuvem.
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 Definir parâmetros da instância.-
Para definir um fuso horário específico para um banco de dados, 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 carimbos de data/hora: TIMESTAMP e TIMESTAMPTZ. Escolha o tipo adequado conforme os requisitos de negócio:
TIMESTAMP: Armazena valores de data e hora em UTC, mas não retém informações de fuso horário. Se o fuso horário for modificado conforme descrito neste tópico, os resultados das consultas para esse tipo de dados permanecerão inalterados.
TIMESTAMPTZ: Tipo de dados ciente do fuso horário. Ao armazenar um carimbo de data/hora, o PostgreSQL o converte para UTC. Na recuperação dos dados, o sistema converte o valor de UTC para o fuso horário definido na instância ou na sessão. Caso o fuso horário seja modificado conforme descrito neste tópico, os resultados das consultas refletirão automaticamente a nova configuração.
Modificar o fuso horário
Em instâncias ApsaraDB RDS for PostgreSQL com discos em nuvem, acesse a página Parameters no console para modificar o parâmetro timezone. Para obter instruções detalhadas, consulte Definir 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 oferecem suporte ao parâmetro timezone.
Visualizar 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 Nomes de fuso horário padrão para instâncias ApsaraDB RDS for PostgreSQL por região.
O ApsaraDB RDS for PostgreSQL aceita apenas nomes de fusos horários, não deslocamentos UTC. Para ver uma lista de nomes comuns, consulte Lista de nomes de fusos horários comuns para instâncias ApsaraDB RDS for PostgreSQL.
-
Também é possível usar uma operação de API para modificar o parâmetro timezone.
API
Descrição
Modifica os parâmetros da instância