Réplicas de leitura do Snowflake Postgres¶
Visão geral¶
O Snowflake Postgres oferece suporte à criação de réplicas. As réplicas são cópias somente leitura de uma instância líder que são constantemente sincronizadas com as alterações dessa instância. Essa sincronização é feita automaticamente e de forma transparente para o usuário.
As réplicas são úteis para dimensionamento de leitura e descarregamento de determinadas cargas de trabalho que podem impactar a produção (como cargas de trabalho de relatórios). As réplicas devem ter o mesmo tamanho de armazenamento que seus líderes, mas podem ter um tamanho de computação diferente.
As réplicas são provisionadas na mesma rede que a instância líder e, como resultado, herdam todas as regras de rede de entrada e saída da instância líder.
As credenciais Postgres, junto com todos os outros dados nas réplicas, são copiadas e sincronizadas com a instância líder.
Criando uma réplica de leitura¶
No menu de navegação, selecione Postgres.
Selecione a instância da qual você deseja criar uma réplica para carregar a página de detalhes.
No menu Manage, no canto superior direito da página de detalhes, selecione a opção
Create replica.Escolha as opções de configuração da sua nova réplica.
Selecione Save para criar a réplica.
Para criar uma instância do Postgres como réplica de uma instância de origem, especifique a cláusula AS REPLICA OF no comando CREATE POSTGRES INSTANCE:
CREATE POSTGRES INSTANCE <name>
AS REPLICA OF <orig_name>
[ COMPUTE_FAMILY = <compute_family> ]
[ POSTGRES_SETTINGS = '<json_string>' ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> ... ) ]
Para os parâmetros do comando:
AS REPLICA OF orig_nameEspecifica o líder que a nova instância de réplica vai seguir.
COMPUTE_FAMILY = compute_familyEspecifica o nome de um tamanho de instância das tabelas Tamanhos de instância do Snowflake Postgres.
Padrão: sem valor. Copiado da origem.
POSTGRES_SETTINGS = 'json_string'Permite que você defina opcionalmente os parâmetros de configuração do Postgres em sua instância no formato JSON. Consulte Configurações do servidor Snowflake Postgres para obter uma lista de parâmetros do Postgres disponíveis.
'{"component:name" = "value", ...}'Padrão: sem valor. Copiado da origem.
COMMENT = 'string_literal'Especifica um comentário para o usuário.
Padrão:
NULL
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 Tag quotas.
Uma linha com as seguintes colunas será retornada:
status
host
Exemplos de CREATE REPLICA SQL
Criar uma réplica my_replica da instância my_origin_instance.
CREATE POSTGRES INSTANCE my_replica
AS REPLICA OF my_origin_instance;
Criar uma réplica my_replica da instância my_origin_instance com uma família de computação diferente.
CREATE POSTGRES INSTANCE my_replica
AS REPLICA OF my_origin_instance
COMPUTE_FAMILY = STANDARD_M;
O tempo necessário para criar uma réplica depende do tamanho da instância de origem. A réplica exibirá o estado atual enquanto estiver sendo construída. Consulte a lista de estados de instância para obter detalhes sobre os estados pelos quais a réplica passará ao ser construída.
Comportamento e limitações da réplica¶
Somente 10 réplicas podem transmitir alterações de uma instância líder por padrão. Para permitir que mais réplicas façam isso, aumente a configuração
max_wal_sendersdo Postgres (consulte Configurações do servidor Snowflake Postgres).As instâncias líderes do Postgres não podem ser descartadas enquanto tiverem réplicas. Todas as réplicas devem ser removidas para que o líder possa ser descartado.
As configurações do servidor Postgres aplicadas a uma instância líder são copiadas para todas as réplicas.