Sobre a Openflow Connector for PostgreSQL¶
Nota
This connector is subject to the Snowflake Connector Terms.
Este tópico descreve os conceitos básicos do Openflow Connector for PostgreSQL, seu fluxo de trabalho e suas limitações.
O Openflow Connector for PostgreSQL conecta uma instância do banco de dados PostgreSQL ao Snowflake e replica dados de tabelas selecionadas quase em tempo real ou de acordo com o cronograma. O conector também cria um registro de todas as alterações de dados, disponível ao longo do estado atual das tabelas replicadas.
Use esse conector se quiser fazer o seguinte:
CDC replication of PostgreSQL data with Snowflake for comprehensive, centralized reporting.
Fluxo de trabalho¶
Um administrador de banco de dados define as configurações de replicação PostgreSQL, cria uma publicação e credenciais para o conector. Opcionalmente, eles entregam o certificado SSL.
Um administrador de conta Snowflake executa as seguintes tarefas:
Cria um usuário de serviço para o conector, um warehouse para o conector e um banco de dados de destino para o qual replicar.
Instala o conector.
Especifica os parâmetros necessários para o modelo de fluxo.
Executa o fluxo. O conector realiza as seguintes tarefas quando executado no Openflow:
Cria um esquema para tabelas de diários.
Cria os esquemas e as tabelas de destino que correspondem às tabelas de origem configuradas para replicação.
Inicia a replicação seguindo o ciclo de vida de replicação de tabela.
O ciclo de vida de replicação de tabelas¶
Introspecção de esquema: o conector descobre as colunas na tabela de origem, seus nomes, tipos e, em seguida, irá validá-las de acordo com as limitações do Snowflake e do conector. As falhas de validação fazem com que esse estágio falhe, e o ciclo se complete. Após a conclusão bem-sucedida da introspecção de esquema, o conector cria uma tabela de destino vazia.
Carga de instantâneo: o conector copia todos os dados disponíveis na tabela de origem para a tabela de destino. A falha nesse estágio encerra o ciclo, e nenhum outro dado é replicado. Após a conclusão bem-sucedida, todo o conjunto de dados da tabela de origem estará disponível na tabela de destino.
Carga incremental: o conector continua rastreando as alterações na tabela de origem e copiando-as para a tabela de destino. Isso continua até que a tabela seja removida da replicação. A falha nesse estágio interrompe permanentemente a replicação da tabela de origem, até que o problema seja resolvido.
Nota
Este conector pode ser configurado para iniciar imediatamente a replicação de alterações incrementais para tabelas recém-adicionadas, ignorando a fase de carregamento de instantâneos. Essa opção costuma ser útil ao reinstalar o conector em uma conta em que já existem dados replicados e você deseja continuar a replicação sem precisar criar novos instantâneos das tabelas.
Para obter detalhes sobre como ignorar o carregamento de instantâneos e usar o processo de carregamento incremental, consulte Replicação incremental.
Importante
Falhas temporárias, como erros de conexão, não impedem a replicação das tabelas. Falhas permanentes, como tipos de dados incompatíveis, impedem a replicação das tabelas. Se uma falha permanente impedir a replicação de uma tabela, remova-a da lista de tabelas replicadas. Depois de resolver o problema que causou a falha, você pode adicionar a tabela de volta à lista de tabelas replicadas.
Suporte ao valor TOASTed¶
O conector oferece suporte à replicação de tabelas com valores TOAST para colunas dos tipos: array, bytea, json, jsonb, text, varchar, xml.
Sempre que o conector encontra um valor TOASTed no fluxo CDC, ele substitui um espaço reservado padrão de __previous_value_unchanged, formatado para o tipo de coluna fornecido e o armazena na tabela de diário. A consulta MERGE então contabiliza os valores de espaço reservado, de modo que a tabela de destino contenha sempre o último valor não relacionado a TOASTed.
Suporte para valores fora do intervalo¶
O conector oferece suporte à replicação de tabelas com colunas dos tipos date, timestamp e timestamptz que contêm valores fora do intervalo. Se o conector encontrar um valor fora do intervalo no fluxo CDC, ele substitui um espaço reservado padrão com base no tipo da coluna.
Tipo de coluna |
Valor do espaço reservado |
|---|---|
|
|
|
|
|
|
Nota
Os valores -Infinity e Infinity também são substituídos pelos respectivos espaços reservados para todos os três tipos.
Versões PostgreSQL compatíveis¶
As versões do PostgreSQL a seguir têm suporte.
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
|
|---|---|---|---|---|---|---|---|---|
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
|
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
|
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
||
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
||
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Sim |
Requisitos do Openflow¶
O tamanho do tempo de execução deve ser pelo menos médio. Use um tempo de execução maior ao replicar grandes volumes de dados, especialmente quando o tamanho das linhas for grande.
O conector não oferece suporte a tempos de execução do Openflow de vários nós. Configure o tempo de execução para esse conector com Min nodes e Max nodes definidos como
1.
Limitações¶
O conector é compatível com o PostgreSQL versão 11 ou posterior.
O conector é compatível apenas com a autenticação de nome de usuário e senha com PostgreSQL.
O conector não replica tabelas com dados que excedam as limitações de tipo do Snowflake. Uma exceção a essa regra são colunas do tipo de dados de data e hora que contêm valores fora do intervalo. Para obter mais informações, consulte Suporte para valores fora do intervalo.
O conector exige que cada tabela replicada tenha uma chave primária e que a identidade da réplica da tabela seja a mesma da chave primária.
O conector oferece suporte a alterações no esquema da tabela de origem, com exceção da alteração das definições de chave primária, da precisão ou da escala de uma coluna numérica.
O conector não oferece suporte à nova adição de uma coluna depois que ela é descartada.
Nota
As limitações que afetam determinadas colunas da tabela podem ser contornadas com a exclusão dessas colunas específicas da replicação.