Conditions préalables requises pour les sources de données Snowflake Connector for PostgreSQL

Note

Le Snowflake Connector for PostgreSQL est soumis aux Conditions du connecteur.

Avant d’installer Snowflake Connector for PostgreSQL, préparez la source de données associée en effectuant les tâches suivantes :

Configurer la source de données associée

Assurez-vous d’avoir un serveur PostgreSQL version 11 ou supérieure qui inclut les données que vous souhaitez synchroniser avec Snowflake. Avant d’installer Snowflake Connector for PostgreSQL, effectuez les opérations suivantes dans votre PostgreSQL environnement :

Configurer wal_level

Snowflake Connector for PostgreSQL nécessite la définition de wal_level sur logical.

Selon l’endroit où le serveur PostgreSQL est hébergé, cela peut s’effectuer de différentes manières

Sur place

Exécutez la requête suivante avec le superutilisateur ou l’utilisateur titulaire du privilège ALTER SYSTEM :

ALTER SYSTEM SET wal_level = logical;
Copy

RDS

L’utilisateur utilisé par l’agent doit disposer du rôle rds_superuser ou rds_replication.

Vous devez également définir les éléments suivants :

  • Le paramètre statique rds.logical_replication sur 1.

  • Les paramètres max_replication_slots, max_connections et max_wal_senders en fonction de la configuration de votre base de données et de votre réplication.

AWS Aurora

Définissez le paramètre statique rds.logical_replication sur 1.

GCP

Définissez les indicateurs suivants :

  • cloudsql.logical_decoding=on.

  • cloudsql.enable_pglogical=on.

Pour plus d’informations, voir la documentation Google Cloud.

Azure

Définissez la prise en charge de la réplication sur Logical. Pour plus d’informations, voir la documentation Azure.

Configurer la publication

Snowflake Connector for PostgreSQL nécessite la création et la configuration de la publication.

Connectez-vous en tant qu’utilisateur avec le privilège CREATE dans la base de données et exécutez la requête suivante :

CREATE PUBLICATION <publication name>;
Copy

Ensuite, définissez les tables que l’agent Snowflake Connector for PostgreSQL pourra voir via :

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

Attention

Pour Postgres v15 et versions ultérieures

Dans le cas de publications créées pour un sous-ensemble de colonnes de la table, ajoutez des tables pour la réplication via la procédure ADD_TABLE_WITH_COLUMNS, en spécifiant exactement le même ensemble de colonnes.

Si ADD_TABLES est utilisé, le connecteur fonctionne, mais les effets secondaires non évidents suivants se produisent :

  • Dans la base de données de destination, les colonnes qui ne sont pas incluses dans le filtre comporteront le suffixe _DELETED. Toutes les données répliquées lors de la phase instantanée seront encore là.

  • En cas d’ajout de colonnes supplémentaires à la publication, l’état de la table deviendra Permanently Failed, ce qui nécessitera le redémarrage de la réplication.

Pour plus d’informations, voir la documentation ALTER PUBLICATION.

Créer un emplacement de réplication

Snowflake Connector for PostgreSQL créera un emplacement de réplication sur le serveur PostgreSQL portant un nom au format sf_db_conn_rs_kbmd_<DATASOURCE NAME>, où <DATASOURCE NAME> est le nom spécifié dans la procédure ADD_DATA_SOURCE.

Si le connecteur n’est plus utilisé, l’emplacement de réplication doit être supprimé pour ne pas accumuler de données sur le serveur PostgreSQL.

select pg_drop_replication_slot(<slot_name>)
Copy

Créer l’utilisateur requis

Créez un utilisateur pour Snowflake Connector for PostgreSQL avec l’attribut REPLICATION. Pour plus d’informations sur la sécurité de la réplication, voir la documentation PostgreSQL.

Prochaines étapes

Après avoir effectué ces procédures, suivez les étapes : Configuration de Snowflake Connector for PostgreSQL via Snowsight.