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.
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.
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 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 de recursos ou da versão principal da sua instância requer uma manutenção de failover. Consulte Failover de 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.
Se você tiver uma janela de manutenção definida para a instância, o failover de manutenção da atualização prosseguirá durante a próxima janela depois que a instância de substituição estiver pronta. Se você não tiver uma janela de manutenção definida para a instância, o failover de manutenção da atualização prosseguirá assim que a instância de substituição estiver pronta.
Use o comando ALTER POSTGRES INSTANCE para fazer alterações na configuração de uma instância do Snowflake Postgres.
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:
Se você tiver uma janela de manutenção definida para a instância, o failover de manutenção necessário prosseguirá durante a próxima janela de manutenção para ocorrer depois que a instância de substituição estiver pronta. Em vez disso, para que a manutenção prossiga assim que a instância de substituição estiver pronta, use APPLY IMMEDIATELY:
Se preferir, use uma cláusula APPLY ON «<timestamp>» para especificar uma data futura ou um carimbo de data/hora até três dias a contar da data atual para o failover de manutenção prosseguir.
Nota
Se a instância não tiver uma janela de manutenção definida, e você não usar uma cláusula APPLY IMMEDIATELY ou APPLY ON «carimbo de data/hora», o failover de manutenção prosseguirá como se APPLY IMMEDIATELY tivesse sido usado.
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.
Importante
As alterações de COMPUTE_FAMILY e STORAGE_SIZE_GB feitas em uma instância primária não são também aplicadas a réplicas de leitura presentes. Elas exigem as próprias operações Modify.
As alterações de COMPUTE_FAMILY e STORAGE_SIZE_GB são também aplicadas a esperas HA se HA está habilitada na instância fornecida. As substituições de instâncias em espera HA nessas operações sempre acontecem assim que as instâncias de substituição ficam prontas, já que esse procedimento não requer tempo de inatividade dos servidores primários.
As alterações na versão principal do Postgres de uma instância funcionam por meio de uma operação de failover de manutenção do Snowflake Postgres, da mesma forma que as outras operações Modify, mas há algumas diferenças importantes envolvendo as instâncias de réplica HA e de leitura.
As operações de atualização da versão principal do Postgres só podem ser aplicadas a instâncias primárias. Quando uma instância primária passa por uma atualização da versão principal, a mesma atualização é aplicada às instâncias de réplica de leitura e HA presentes por meio da reconstrução delas com base em um novo backup da instância primária feito após a conclusão da atualização da instância primária.
Isso significa que, durante o tempo que leva para executar um novo backup após a atualização da instância primária e criar novas instâncias de réplica HA e/ou de leitura com base nesse backup:
A instância primária não tem uma instância HA válida.
Embora permaneçam acessíveis, as réplicas de leitura terão dados obsoletos, pois não serão replicadas da instância primária até que as respectivas instâncias de substituição estejam prontas.
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.
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 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.
O Snowflake Postgres permite suspender a instância usando o painel.
No menu de navegação, selecione Postgres.
Selecione a instância.
No menu Manage no canto superior direito, selecione Suspend.
Clique no botão Suspend para confirmar a ação.
Para suspender uma instância do Snowflake Postgres, execute o comando ALTER POSTGRES INSTANCE com a opção SUSPEND. Por exemplo:
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.
No menu de navegação, selecione Postgres.
Selecione a instância.
No menu Manage no canto superior direito, selecione Resume.
Clique no botão Resume para confirmar a ação.
Para retomar uma instância do Snowflake Postgres, execute ALTER POSTGRES INSTANCE … RESUME:
ALTERPOSTGRES INSTANCE[IFEXISTS]<name>RESUME
Essas 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
Refresh é uma operação de manutenção de instâncias que substitui a instância sem fazer alterações nos recursos configurados. Use-a para garantir que a instância tenha os patches de segurança do OS atualizados, a versão secundária mais recente do Postgres para a respectiva versão principal e funcione corretamente com os recursos mais recentes do Snowflake Postgres.
No menu de navegação, selecione Postgres.
Selecione a instância.
No menu Manage no canto superior direito, selecione Refresh.
Se você quiser que o failover de manutenção da atualização ocorra assim que o servidor de substituição estiver pronto, selecione Bypass maintenance Window and apply immediately.
Clique no botão Refresh para confirmar a ação.
Para executar Refresh da instância via SQL, use ALTER POSTGRES INSTANCE com o valor COMPUTE_FAMILY correspondente ao respectivo valor atual. Por exemplo, se você tem uma instância STANDARD_M chamada myinstance, use isto para executar uma manutenção de Refresh e defina a operação de failover da manutenção para ocorrer durante a primeira janela de manutenção depois que o servidor de substituição estiver pronto:
Use isto para que o failover de manutenção de Refresh ocorra assim que o servidor de substituição estiver pronto, em vez de esperar pela próxima janela de manutenção, se ele tiver uma definida:
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 Reinicialização de manutenção do Snowflake Postgres.
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.
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.
Com a opção POSTGRES_SETTINGS, você especifica 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 IMMEDIATELY na 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
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 DESCRIBEPOSTGRESINSTANCE.
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 Ready até essa janela. Se agendada para agora, a operação prosseguirá assim que atingir o status Ready. As instâncias em execução normalmente mostram o estado Ready.
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