Pré-requisitos para fontes de dados do Snowflake Connector for PostgreSQL

Importante

Agradecemos pelo seu interesse no conector Snowflake para PostgreSQL. Agora, estamos focados em uma solução de próxima geração que oferecerá uma experiência significativamente melhor. Portanto, no momento não temos planos de passar esse conector para o status de disponibilidade geral. Você pode continuar usando esse conector como um recurso em versão preliminar, mas o suporte para futuras correções de bugs e melhorias não é garantido. A nova solução está disponível como Conector Openflow para PostgreSQL e inclui melhor desempenho, personalização e opções aprimoradas de implantação.

Antes de instalar o Snowflake Connector for PostgreSQL, prepare a fonte de dados associada executando as seguintes tarefas:

Configuração da fonte de dados associada

Certifique-se de ter um servidor PostgreSQL versão 11 ou superior que inclua os dados que você deseja sincronizar com o Snowflake. Antes de instalar o Snowflake Connector for PostgreSQL, faça o seguinte no seu ambiente PostgreSQL:

Configuração de wal_level

Snowflake Connector for PostgreSQL requer que wal_level seja definido como logical.

Dependendo de onde o servidor PostgreSQL está hospedado, isso pode ser feito de diferentes maneiras.

No local

Execute a seguinte consulta com superusuário ou usuário com privilégio ALTER SYSTEM:

ALTER SYSTEM SET wal_level = logical;
Copy

RDS

O usuário usado pelo agente precisa ter a função rds_superuser ou rds_replication atribuída.

Você também precisa definir:

  • Parâmetro estático rds.logical_replication como 1.

  • Parâmetros max_replication_slots, max_connections e max_wal_senders de acordo com seu banco de dados e configuração de replicação.

AWS Aurora

Defina o parâmetro estático rds.logical_replication como 1.

GCP

Defina os seguintes sinalizadores:

  • cloudsql.logical_decoding=on.

  • cloudsql.enable_pglogical=on.

Para obter mais informações, consulte a documentação do Google Cloud.

Azure

Defina o suporte de replicação como Logical. Para obter mais informações, consulte a documentação do Azure.

Configuração da publicação

Snowflake Connector for PostgreSQL requer que a Publicação seja criada e configurada.

Efetue login como usuário com o privilégio CREATE no banco de dados e execute a seguinte consulta:

CREATE PUBLICATION <publication name>;
Copy

Em seguida, defina as tabelas que o agente Snowflake Connector for PostgreSQL poderá ver ao usar:

ALTER PUBLICATION <publication name> ADD TABLE <table name>;
Copy

Atenção

Para Postgres v15 e posterior

No caso de publicações criadas para um subconjunto de colunas da tabela, adicione tabelas para replicação usando o procedimento ADD_TABLE_WITH_COLUMNS, especificando exatamente o mesmo conjunto de colunas.

Se ADD_TABLES for usado, o conector funcionará, mas os seguintes efeitos colaterais não óbvios ocorrerão:

  • no banco de dados de destino, as colunas que não estiverem incluídas no filtro serão sufixadas com _DELETED. Todos os dados replicados durante a fase do instantâneo ainda estarão lá.

  • em caso de adição de mais colunas à publicação, a tabela resultará no estado Permanently Failed, exigindo o reinício da replicação.

Para obter mais informações, consulte a documentação de ALTER PUBLICATION.

Criação de um slot de replicação

Snowflake Connector for PostgreSQL criará um slot de replicação no servidor PostgreSQL com o nome tendo o padrão sf_db_conn_rs_kbmd_<DATASOURCE NAME>, onde <DATASOURCE NAME> é o especificado no procedimento ADD_DATA_SOURCE.

Se o conector não for mais usado, o slot de replicação deverá ser removido para não acumular dados no servidor PostgreSQL.

select pg_drop_replication_slot(<slot_name>)
Copy

Criação do usuário necessário

Crie um usuário para Snowflake Connector for PostgreSQL com o atributo REPLICATION. Para obter mais informações sobre segurança de replicação, consulte a documentação do PostgreSQL.

Próximos passos

Após completar estes procedimentos, siga os passos em Configuração do Snowflake Connector for PostgreSQL usando o Snowsight.