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

Nota

O Snowflake Connector for PostgreSQL está sujeito aos Termos do conector.

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, execute o seguinte em 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.