Gerenciamento de instâncias do Snowflake Postgres¶
O Snowflake Postgres ajuda você a gerenciar suas instâncias por meio de uma variedade de operações de gerenciamento de instâncias. Essas operações são formas de manutenção que mantêm as instâncias operacionais e seguras.
Uma breve interrupção de serviço é necessária para realizar operações de gerenciamento de instâncias. Certifique-se de que seus aplicativos possam se reconectar automaticamente ao banco de dados.
Nota
A cadeia de conexão de uma instância permanecerá a mesma em todas as operações de gerenciamento de instâncias, a menos que você alterne explicitamente as credenciais.
Quando necessário para garantir a integridade da instância, podemos agendar operações de manutenção em seu nome (por exemplo, para modificar o tamanho do armazenamento de instâncias).
Para obter uma descrição detalhada de como a manutenção de instâncias é realizada em nossa plataforma, consulte Manutenção do Snowflake Postgres.
Operações disponíveis¶
As seguintes operações estão disponíveis no menu suspenso Manage na página de detalhes da instância no painel:
Bifurcar: criar uma nova instância com base em uma instância existente
Modificar: alterar o tamanho da instância, o tamanho do armazenamento ou a versão do Postgres da instância
Habilitar alta disponibilidade: habilitar a alta disponibilidade para a instância
Criar réplica: criar uma réplica da instância
Suspender e retomar instâncias: encerrar gradativamente o servidor Postgres, mas manter os dados em disco
Reiniciar serviços: reiniciar o PostgreSQL ou todo o servidor subjacente
Gerar credenciais novamente: gerar novamente as credenciais da instância
Bifurcar¶
Você pode bifurcar uma instância para criar uma nova instância com base em uma instância existente e, se desejar, escolher um ponto no tempo a partir do qual bifurcar. Por padrão, a nova instância é bifurcada a partir do estado atual da instância de origem. Leia mais sobre bifurcação em Recuperação pontual do Snowflake Postgres.
Modificar¶
Para fazer uma alteração em uma instância do Snowflake Postgres existente, você deve usar uma função que tenha recebido o privilégio OWNERSHIP ou OPERATE nessa instância.
Você pode redimensionar uma instância no local com impacto mínimo e nenhuma alteração na sua cadeia de conexão. Durante o redimensionamento da instância, você pode:
Alterar o tamanho de COMPUTE_FAMILY;
Alterar a quantidade de armazenamento. Tanto aumentos quanto diminuições no tamanho do armazenamento são permitidos;
Atualizar a versão do Postgres para uma versão principal mais recente.
A modificação da configuração da instância requer manutenção. Consulte Manutenção do Snowflake Postgres para obter mais informações.
Para fazer uma mudança:
No menu de navegação, selecione Postgres.
Selecione a instância.
No menu Manage no canto superior direito, selecione Modify.
Selecione a nova COMPUTE_FAMILY e/ou tamanho do armazenamento nos menus suspensos. Consulte Atualizações da versão principal do Postgres para obter mais informações sobre como alterar a versão do Postgres.
Selecione o botão Save para confirmar as alterações.
Execute o comando ALTER POSTGRES INSTANCE para fazer alterações na configuração de uma instância do Snowflake Postgres.
Nota
As alterações na instância são aplicadas como uma operação assíncrona.
Para verificar o status da operação, execute o comando DESCRIBE POSTGRES INSTANCE.
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SET [ NETWORK_POLICY = <policy_name> ] [ COMMENT = '<string_literal>' ] [ HIGH_AVAILABILITY = { TRUE | FALSE } ] [ COMPUTE_FAMILY = <compute_family> ] [ STORAGE_SIZE_GB = <storage_gb> ] [ POSTGRES_VERSION = { 16 | 17 } ]; [ MAINTENANCE_WINDOW_START = <hour_of_day> ] [ POSTGRES_SETTINGS = '<json_string>'] [ APPLY { IMMEDIATELY | ON '<timestamp>' } ] ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> UNSET { COMMENT | POSTGRES_SETTINGS | NETWORK_POLICY | MAINTENANCE_WINDOW_START } [ , ... ]
NETWORK_POLICY = policy_nameEspecifica 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 NETWORK_POLICY.
HIGH_AVAILABILITY = { TRUE | FALSE }Habilita Alta disponibilidade do Snowflake Postgres para a instância. Executado como uma operação assíncrona. DESCRIBE pode ser usado para rastrear o progresso no campo de operações. Uma alteração de HA só poderá ser iniciada se a instância estiver no estado READY e não poderá ser iniciada se qualquer outra operação estiver em execução (incluindo a habilitação/desabilitação de HA).
Padrão:
FALSECOMPUTE_FAMILY = compute_family.STORAGE_SIZE_GB = storage_gb.POSTGRES_VERSION = 16 | 17
Essas operações são chamadas coletivamente de operações de «atualização» e são realizadas em conjunto.
DESCRIBE POSTGRES INSTANCEpode ser usado para rastrear o progresso no campo de operações.Uma operação de atualização só poderá ser iniciada se a instância estiver no estado READY e não poderá ser iniciada se qualquer 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 durante o período da janela de manutenção, a menos que
APPLY IMMEDIATELYseja especificado para substituir a janela de manutenção.POSTGRES_SETTINGS = 'json_string'Especifica as alterações nas configurações do Postgres da instância. Especifique as configurações em uma cadeia de caracteres formatada em JSON com a seguinte estrutura:
'{"component:name" = "value", ...}'As alterações em algumas das configurações do Postgres podem exigir a reinicialização da instância para entrar em vigor. Essas alterações não entrarão em vigor a menos que você especifique
APPLY IMMEDIATELYna instrução ALTER POSTGRES INSTANCE. Para obter a lista de configurações que exigem reinicialização, consulte a tabela nas configurações do Postgres.MAINTENANCE_WINDOW_START = hour_or_dayA hora desejada do dia em que uma janela de manutenção pode começar. Deve ser um número inteiro de 0 a 23 representando a hora do dia em que a manutenção pode começar, com 0 indicando meia-noite em UTC. As janelas de manutenção são de três horas a partir da hora especificada. O cancelamento da definição de uma janela de manutenção existente faz com que todas as operações em andamento sejam aplicadas assim que forem concluídas.
APPLY IMMEDIATELYSe o cluster tiver uma janela de manutenção definida,
APPLY IMMEDIATELYsubstituirá a janela de manutenção de todas as operações especificadas para que sejam aplicadas assim que estiverem prontas.APPLY IMMEDIATELYé aplicado somente aCOMPUTE_FAMILY,STORAGE_SIZE_GB,POSTGRES_VERSIONePOSTGRES_SETTINGS. Para todas as outras opções, ele é ignorado.APPLY ON 'timestamp'Se o cluster tiver uma janela de manutenção definida,
APPLY ONsubstituirá a janela de manutenção de todas as operações especificadas para que sejam aplicadas no carimbo de data/hora fornecido.APPLY IMMEDIATELYnão pode ser especificado comPOSTGRES_SETTINGS. O carimbo de data/hora especificado não pode ser mais de 72 horas no futuro e pode ter um dos seguintes formatos:
aaaa-MM-dd
aaaa-MM-dd HH:mm
aaaa-MM-dd HH:mm:ss
aaaa-MM-dd HH:mm zzz
Exemplos de modificação de uma instância do Postgres
Altere a COMPUTE_FAMILY de uma instância existente para STANDARD_M e o tamanho do armazenamento para 100GB em uma única operação:
ALTER POSTGRES INSTANCE my_instance
SET COMPUTE_FAMILY = 'STANDARD_M'
STORAGE_SIZE_GB = 100;
Se você planeja diminuir o tamanho do armazenamento da instância, observe que atualmente permitimos que o redimensionamento seja maior ou igual a 1,4 vez o uso do disco atual para reduzir os alertas e redimensionar imediatamente.
Atualizações da versão principal do Postgres¶
O Snowflake Postgres permite que você agende as atualizações da versão principal no painel. Para fazer essa alteração, você seguirá o mesmo processo usado para o redimensionamento de uma instância. A atualização da instância para uma nova versão principal requer manutenção. Consulte Manutenção do Snowflake Postgres para obter informações gerais sobre manutenção e confira abaixo para obter informações mais específicas sobre as atualizações da versão principal.
Para iniciar uma atualização da versão principal, você deve usar uma função que tenha recebido o privilégio OWNERSHIP ou OPERATE na instância.
Nota
Você só pode atualizar para uma versão principal mais recente. Não é possível fazer downgrade para uma versão principal anterior.
Nota
Você pode combinar a atualização da versão principal com o redimensionamento da instância selecionando um novo tamanho da instância e/ou do armazenamento ao mesmo tempo.
No menu de navegação, selecione Postgres.
Selecione a instância do Snowflake Postgres.
No menu Manage no canto superior direito, selecione Modify.
Se uma nova versão estiver disponível, você poderá selecioná-la no menu suspenso de versões do Postgres.
Selecione o botão Save para confirmar a alteração.
Você pode iniciar a atualização da versão principal com o comando ALTER POSTGRES INSTANCE definindo o parâmetro POSTGRES_VERSION como a versão desejada.
ALTER POSTGRES INSTANCE [IF EXISTS] <name>
SET POSTGRES_VERSION = { 16 | 17 }
POSTGRES_VERSION = { 16 | 17 }A versão do Postgres desejada para atualização.
Exemplo: atualizar uma instância existente para o PostgreSQL 17
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17;
Exemplo: combinar a atualização da versão principal com o aumento de tamanho do armazenamento
ALTER POSTGRES INSTANCE my_instance
SET POSTGRES_VERSION = 17
STORAGE_SIZE_GB = 100;
As atualizações da versão principal do Postgres funcionam de maneira diferente das outras operações de gerenciamento de instâncias. Depois que você iniciar o processo, o Snowflake Postgres executará as seguintes etapas:
Criar uma réplica «oculta» (não visível aos usuários) da sua instância atual.
Migrar os dados existentes da instância de origem para a réplica oculta (a duração é relativa ao tamanho dos dados).
Quando a janela de manutenção for atingida:
Bloquear a instância de origem para impedir gravações.
Atualizar a réplica oculta (a duração depende do número de objetos no banco de dados, não do tamanho dos dados).
Fazer failover para a instância recém-atualizada quando a atualização for concluída.
Observações importantes:
As alterações da versão principal podem afetar a compatibilidade do aplicativo. Recomendamos testar o aplicativo com a nova versão do PostgreSQL antes da atualização.
As réplicas de leitura são atualizadas automaticamente durante a atualização da versão principal, mas somente depois que a versão primária for atualizada e um novo backup for feito. Até que isso seja concluído, as réplicas permanecerão disponíveis, mas em estado obsoleto.
Se você não tiver uma janela de manutenção definida e nem especificado um horário de execução, a atualização começará assim que a nova instância for preenchida e estiver pronta.
Essa operação cria uma interrupção de serviço que não deve durar mais do que alguns minutos.
Se uma atualização falhar, sua instância será automaticamente revertida para a instância original.
Habilitar a alta disponibilidade¶
Quando a alta disponibilidade (High Availability, HA) é habilitada, sua instância inclui um host em espera que substitui o host primário caso ele fique indisponível. Você pode ler mais sobre isso em Alta disponibilidade do Snowflake Postgres.
Criar uma réplica¶
Você pode criar uma réplica da sua instância no painel. A réplica é uma cópia somente leitura da instância de origem que é sincronizada com essa instância de origem. Saiba mais sobre como criar e usar réplicas em Réplicas de leitura do Snowflake Postgres.
Suspender e retomar instâncias¶
Suspender uma instância desativa a máquina virtual em que ela é executada, mantendo sua imagem de disco no armazenamento para que a instância possa ser retomada. O faturamento normal da instância é suspenso, mas os custos de armazenamento continuam sendo acumulados. Os backups de 10 dias existentes também são mantidos.
Se houver operações pendentes de reinicialização, elas serão aplicadas quando a instância for retomada.
Para suspender ou retomar uma instância do Snowflake Postgres, você deve usar uma função que tenha recebido o privilégio OWNERSHIP ou OPERATE na instância.
Para suspender uma instância do Snowflake Postgres, execute ALTER POSTGRES INSTANCE … SUSPEND:
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> SUSPEND
Essas operações são assíncronas. O comando DESCRIBE pode ser usado para rastrear o status dessas operações.
Exemplo: suspender uma instância do Snowflake Postgres chamada my_instance
ALTER POSTGRES INSTANCE my_instance SUSPEND;
Você pode retomar uma instância suspensa a qualquer momento. O tempo necessário para a retomada depende da instância e do tamanho do conjunto de dados. Quando você retoma uma instância, o faturamento normal e os backups também recomeçam.
Para retomar uma instância do Snowflake Postgres, execute ALTER POSTGRES INSTANCE … RESUME:
ALTER POSTGRES INSTANCE [ IF EXISTS ] <name> RESUMEEssas operações são assíncronas. O comando DESCRIBE pode ser usado para rastrear o status dessas operações.
Exemplo: retomar uma instância do Snowflake Postgres chamada my_instance
ALTER POSTGRES INSTANCE my_instance RESUME;
Reiniciando os serviços¶
Você pode reiniciar o PostgreSQL ou o servidor subjacente que executa sua instância do Postgres, se necessário. Esse tipo de operação de gerenciamento de instâncias reinicia o servidor no local, sem criar uma réplica ou fazer failover. Leia mais sobre como reiniciar serviços em Manutenção do Snowflake Postgres.
Gerar credenciais novamente¶
A nova geração de credenciais retorna uma nova cadeia de conexão para sua instância de banco de dados, substituindo as credenciais existentes. Leia mais sobre esse tópico em Funções do Snowflake Postgres.
Parâmetros de configuração personalizados¶
Você pode fazer alterações em muitas das configurações do próprio servidor Postgres em suas instâncias do Snowflake Postgres. Você pode ver a lista de parâmetros de configuração disponíveis em Configurações do servidor Snowflake Postgres.
Para alterar as configurações do Postgres em uma instância do Snowflake Postgres, você deve usar uma função que tenha recebido o privilégio OWNERSHIP ou OPERATE nessa instância.
Para fazer uma mudança:
No menu de navegação, selecione Postgres
Selecionar a instância
À direita da página, selecione o ícone de edição ao lado de Custom parameters.
Escolha os parâmetros de configuração na lista ou use a caixa de pesquisa para encontrar parâmetros específicos.
Digite o novo valor para o parâmetro de configuração.
Quando terminar de adicionar novos valores aos parâmetros, clique em Continue to review e depois em Submit para confirmar as alterações.
ALTER POSTGRES INSTANCE [IF EXISTS] <name>
SET POSTGRES_SETTINGS = '{JSON_string}'
[ APPLY IMMEDIATELY ];
POSTGRES_SETTINGS = 'json_string'Especifica as alterações nas configurações do Postgres da instância. Especifique as configurações em uma cadeia de caracteres formatada em JSON com a seguinte estrutura:
'{"component:name" = "value", ...}'As alterações em algumas das configurações do Postgres podem exigir a reinicialização da instância para entrar em vigor. Essas alterações não entrarão em vigor a menos que você especifique
APPLY IMMEDIATELYna instrução ALTER POSTGRES INSTANCE. Para obter a lista de configurações que exigem reinicialização, consulte a tabela nas configurações do Postgres.
Exemplo: definir o parâmetro de configuração work_mem como 128MB para uma instância do Snowflake Postgres chamada my_instance
ALTER POSTGRES INSTANCE my_instance SET POSTGRES_SETTINGS = ( 'work_mem' = '128MB' );
Estados da instância¶
Qualquer operação de gerenciamento de instâncias, seja a criação de uma nova instância ou a modificação de uma existente, leva algum tempo para ser concluída. A duração exata depende de muitos fatores, como os tamanhos dos dados e do esquema e o quanto a instância está ocupada. O estado de uma instância apresenta insights sobre o progresso de uma operação em andamento. Ele é mostrado no painel, ou você pode verificá-lo executando o comando DESCRIBE POSTGRES INSTANCE.
Os estados da instância possíveis estão listados abaixo. Durante uma operação de modificação de instância, a instância de substituição passa por todos os estados listados na primeira tabela. Uma nova instância que está sendo criada passa por alguns, mas não todos os estados listados. A tabela a seguir lista alguns estados adicionais que você pode ver durante as operações normais.
Estados vistos durante a criação, modificação e bifurcação:
Estado |
O que está acontecendo |
Duração comum |
Próximo estado |
|---|---|---|---|
Criando |
Um novo servidor subjacente está sendo criado |
1-2 minutos |
Restaurando |
Restaurando |
O backup de base mais recente está sendo restaurado no servidor |
Variável |
Iniciando |
Iniciando |
O Postgres está sendo iniciado na instância e o WAL acumulado durante o backup de base está sendo aplicado |
Variável |
Reproduzindo |
Reproduzindo |
O WAL acumulado desde o último backup de base está sendo reproduzido |
Variável |
Finalizando |
Finalizando |
A configuração da instância está sendo finalizada e o servidor está sendo disponibilizado |
1-2 minutos |
Pronto |
Pronto |
A nova instância corresponde à instância de origem e está pronta para a operação prosseguir. Se agendada para uma próxima janela de manutenção, a instância será mantida como |
N/A |
N/A |
Outros estados da instância que você pode ver na plataforma:
Estado |
O que está acontecendo |
Duração comum |
Próximo estado |
|---|---|---|---|
Reiniciando |
O servidor subjacente está sendo reiniciado |
1-2 minutos |
Pronto |
Retomando |
Um novo servidor está sendo criado e uma instância suspensa está sendo retomada |
3-5 minutos |
Pronto |
Suspendendo |
A instância está sendo suspensa |
3-5 minutos |
Suspensa |
Suspensa |
A instância está suspensa no momento |
Até ser retomada |
Retomando |

