ALTER POSTGRES INSTANCE¶
Modifica as propriedades de uma instância Snowflake Postgres existente.
- Consulte também:
CREATE POSTGRES INSTANCE, DESCRIBE POSTGRES INSTANCE, DROP POSTGRES INSTANCE, SHOW POSTGRES INSTANCES
Sintaxe¶
Parâmetros¶
nameEspecifica o identificador da instância do Postgres a ser alterada.
Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
Para obter mais informações, consulte Requisitos para identificadores.
RENAME TO new_nameAltera o nome da instância do Postgres para o novo nome especificado. O novo identificador deve ser exclusivo para a conta.
Para obter mais detalhes sobre os identificadores de, consulte Requisitos para identificadores.
RESET ACCESS FOR { 'snowflake_admin' | 'application' }Regenera as credenciais para a função
snowflake_adminouapplication. Retorna uma linha com a seguinte coluna:password
Para obter mais informações, consulte Funções do Snowflake Postgres.
SET ...Define uma ou mais propriedades especificadas para a instância do Postgres:
NETWORK_POLICY = 'network_policy'Especifica a política de redes a ser usada para a instância. As alterações na política podem levar até 2 minutos para entrar em vigor.
Para especificar esse parâmetro, você deve ter recebido o privilégio USAGE no objeto de política de redes.
AUTHENTICATION_AUTHORITY = { POSTGRES | POSTGRES_OR_SNOWFLAKE }Change the authentication method for the instance. POSTGRES indicates that only Postgres user passwords can be used. POSTGRES_OR_SNOWFLAKE also allows the use of short-lived access token passwords. See Autenticação de token Snowflake para Snowflake Postgres for more details.
COMMENT = 'string_literal'Adiciona ou sobrescreve um comentário existente para a instância do Postgres.
HIGH_AVAILABILITY = { TRUE | FALSE }Ativa ou desativa a alta disponibilidade para a instância. Executa como uma operação assíncrona. Execute o comando DESCRIBE POSTGRES INSTANCE e monitore o campo
operationspara acompanhar o progresso.Uma alteração de alta disponibilidade só poderá ser iniciada se a instância estiver no estado READY e nenhuma outra operação estiver em execução.
Nota
Os tamanhos de instância com capacidade de intermitência (BURST_XS, BURST_S, BURST_M) não são compatíveis com alta disponibilidade. Para habilitar a HA, você deve primeiro mudar para uma família de computação STANDARD ou HIGHMEM.
COMPUTE_FAMILY = 'compute_family'Especifica o novo tamanho da instância do Postgres.
STORAGE_SIZE_GB = storage_gbEspecifica o novo tamanho de armazenamento em GB. Aumentos e reduções são compatíveis.
Nota
When you decrease the storage size, you can’t set it too close to current disk usage. The new size must be at least 1.4x the disk space currently in use. That way, there’s still room to add more data without triggering an automatic storage increase.
STORAGE_INTEGRATION = 'storage_integration_name'Anexa uma integração de armazenamento do tipo
POSTGRES_EXTERNAL_STORAGEà instância do Postgres, permitindo que a extensão pg_lake acesse dados em armazenamento de objetos externo. Para o procedimento de configuração completo, consulte Configurando o armazenamento S3 para pg_lake.POSTGRES_VERSION = { 16 | 17 | 18 }Especifica a versão principal do Postgres para a qual atualizar. Você só pode atualizar para uma versão mais recente; o downgrade não é possível.
MAINTENANCE_WINDOW_START = hour_of_dayEspecifica a hora do dia (0-23, UTC) em que uma janela de manutenção pode começar. As janelas de manutenção têm duração de três horas, começando na hora especificada.
POSTGRES_SETTINGS = 'json_string'Especifica alterações nas configurações do servidor Postgres para a instância no formato JSON:
Algumas configurações exigem a reinicialização da instância para que entrem em vigor. Essas alterações não serão aplicadas, a menos que você especifique
APPLY IMMEDIATELY.APPLY IMMEDIATELYSubstitui qualquer janela de manutenção definida e aplica as operações especificadas assim que estiverem prontas. Aplica-se a
COMPUTE_FAMILY,STORAGE_SIZE_GB,POSTGRES_VERSIONePOSTGRES_SETTINGS.APPLY ON 'timestamp'Substitui qualquer janela de manutenção definida e aplica as operações especificadas no carimbo de data/hora fornecido. O carimbo de data/hora não pode ser superior a 72 horas no futuro.
Formatos de carimbo de data/hora compatíveis:
yyyy-MM-ddyyyy-MM-dd HH:mmyyyy-MM-dd HH:mm:ssyyyy-MM-dd HH:mm zzz
UNSET ...Desativa uma ou mais propriedades especificadas para a instância do Postgres, redefinindo-as para os valores padrão:
COMMENTPOSTGRES_SETTINGSNETWORK_POLICYMAINTENANCE_WINDOW_START– a desativação faz com que todas as operações em andamento sejam aplicadas assim que forem concluídas.STORAGE_INTEGRATION– remove a integração de armazenamento da instância, desativando o acesso da pg_lake ao armazenamento externo.
Para desmarcar várias propriedades ou parâmetros com uma única instrução ALTER, separe cada propriedade ou parâmetro com uma vírgula.
Ao desmarcar uma propriedade ou parâmetro, especifique apenas o nome da propriedade ou parâmetro (a menos que a sintaxe acima indique que você deve especificar o valor). Especificar o valor retorna um erro.
SUSPENDSuspende a instância do Postgres. A máquina virtual fica desativada enquanto a imagem do disco é mantida em armazenamento. A cobrança normal é suspensa, mas os custos de armazenamento continuam a acumular. Os backups existentes são mantidos.
RESUMERetoma uma instância do Postgres suspensa. Se houver operações pendentes de reinicialização, elas serão aplicadas quando a instância for retomada.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter informações sobre como especificar tags em uma instrução, consulte Cotas de tags.
Requisitos de controle de acesso¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
Privilégio |
Objeto |
Notas |
|---|---|---|
OWNERSHIP ou OPERATE |
Instância do Postgres |
Necessário para modificar as propriedades da instância. |
USAGE |
Política de redes |
Necessário apenas se NETWORK_POLICY for especificado. |
USAGE |
Integração de armazenamento |
Necessário apenas se STORAGE_INTEGRATION for especificado. |
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
As alterações em
COMPUTE_FAMILY,STORAGE_SIZE_GBePOSTGRES_VERSIONsão chamadas coletivamente de operações de «atualização» e podem ser executadas em conjunto. Execute o comando DESCRIBE POSTGRES INSTANCE e monitore o campooperationspara acompanhar o progresso.Uma operação de atualização só pode ser iniciada se a instância estiver no estado READY e nenhuma outra operação estiver em execução.
Se uma instância tiver uma janela de manutenção definida, as alterações não entrarão em vigor até o início do período da janela de manutenção, a menos que
APPLY IMMEDIATELYseja especificado. As janelas de manutenção controlam quando as alterações são aplicadas, não se a instância está em execução. Para obter mais detalhes sobre as operações de manutenção, consulte Gerenciamento de instâncias do Snowflake Postgres.Uma breve interrupção do serviço é necessária para executar operações de gerenciamento de instâncias. Certifique-se de que seus aplicativos possam se reconectar automaticamente ao banco de dados.
SUSPEND e RESUME são operações imediatas para interromper e iniciar a cobrança da instância. Elas são diferentes das janelas de manutenção, que agendam quando as alterações de configuração (como atualizações ou ativação de HA) entram em vigor.
A cadeia de conexão para uma instância permanece a mesma em todas as operações de gerenciamento de instâncias, a menos que você regenere credenciais explicitamente.
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
Altere a família de computação e o tamanho do armazenamento de uma instância do Postgres:
Monitore o progresso da operação usando DESCRIBE:
Habilite a alta disponibilidade para uma instância:
Atualize para o Postgres 18:
Aplique as alterações imediatamente, ignorando a janela de manutenção:
Suspenda uma instância do Postgres:
Retome uma instância suspensa:
Renomeie uma instância do Postgres:
Nota
Renomear uma instância altera o identificador dela no Snowflake, mas não altera o nome do host de conexão. O nome do host permanece o mesmo; portanto, as conexões e aplicativos existentes continuam funcionando sem modificações.
