À propos de Openflow Connector for PostgreSQL¶
Note
Le connecteur est soumis aux conditions d’utilisation du connecteur.
Cette rubrique décrit les concepts de base de Openflow Connector for PostgreSQL, son flux de travail et ses limites.
Openflow Connector for PostgreSQL connecte une instance de la base de données PostgreSQL à Snowflake et réplique les données des tables sélectionnées en temps quasi réel ou selon une planification. Le connecteur connecte également un journal de toutes les modifications de données, disponible avec l’état actuel des tables répliquées.
Utilisez ce connecteur si vous souhaitez effectuer les opérations suivantes :
CDC réplication des données de PostgreSQL avec Snowflake pour un reporting complet et centralisé
Workflow¶
Un administrateur de la base de données configure les paramètres de réplication PostgreSQL, crée une publication et des identifiants pour le connecteur. En option, il délivre le certificat SSL.
Un administrateur de compte Snowflake effectue les tâches suivantes :
Crée un utilisateur de service pour le connecteur, un entrepôt pour le connecteur et une base de données de destination pour la réplication.
Télécharge et importe le fichier de définition du connecteur depuis la documentation dans le canevas Snowflake Openflow.
Spécifie les paramètres requis pour le modèle de flux.
Gère le flux. Le connecteur effectue les tâches suivantes lorsqu’il est exécuté dans Openflow :
Crée un schéma pour les tables du journal.
Crée les schémas et les tables de destination correspondant aux tables sources configurées pour la réplication.
Démarre la réplication en suivant le cycle de vie de la réplication de la table.
Le cycle de vie de la réplication de la table¶
Introspection du schéma : le connecteur découvre les colonnes de la table source, leurs noms, leurs types, puis les valide par rapport aux limites de Snowflake et du connecteur. Les échecs de validation entraînent l’échec de cette préparation et le cycle s’achève. Une fois l’introspection du schéma correctement terminée, le connecteur crée une table de destination vide.
Chargement d’un instantané : le connecteur copie toutes les données disponibles dans la table source dans la table de destination. L’échec de cette préparation met fin au cycle et plus aucune donnée n’est répliquée. Une fois l’opération réussie, l’ensemble des données de la table source est disponible dans la table de destination.
Chargement incrémentiel : le connecteur suit en permanence les modifications apportées à la table source et les copie dans la table de destination. Cette opération se poursuit jusqu’à ce que la table soit retirée de la réplication. Une mise en échec à ce stade arrête définitivement la réplication de la table source, jusqu’à ce que le problème soit résolu.
Note
Les défaillances provisoires, comme les problèmes de connexion, n’interrompent pas la réplication d’une table, mais les défaillances permanentes, comme les mappages de types de données non pris en charge, empêchent la table concernée de continuer à se répliquer, tandis que les autres tables configurées restent inchangées. Une fois que vous avez corrigé le problème avec la table concernée, vous pouvez la supprimer puis l’ajouter à nouveau à la réplication.
Versions de PostgreSQL prises en charge¶
Les versions de PostgresSQL suivantes sont prises en charge.
11 |
12 |
13 |
14 |
15 |
16 |
17 |
|
---|---|---|---|---|---|---|---|
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
|
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
|
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
||
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
||
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
Limitations¶
Le connecteur est compatible avec PostgreSQL version 11 ou ultérieure.
Le connecteur ne prend en charge que l’authentification par nom d’utilisateur et mot de passe avec PostgreSQL.
Le connecteur ne prend pas en charge les instances de réplica en lecture PostgreSQL.
Le connecteur ne réplique pas les tables contenant des données qui dépassent les limites de type de Snowflake.
Le connecteur ne réplique pas les tables avec les valeurs TOAST.
Le connecteur exige que chaque table répliquée ait une clé primaire et que l’identité de la réplique de la table soit la même que la clé primaire.
Le connecteur prend en charge les modifications du schéma de la table source, à l’exception de la modification des définitions des clés primaires, de la précision ou de l’échelle d’une colonne numérique.
Le connecteur ne prend pas en charge les environnements d’exécution Openflow multi-clusters.
Note
Les limites affectant certaines colonnes de la table peuvent être contournées en excluant ces colonnes spécifiques de la réplication.