Le problème des colonnes générées
-
Non publiées via
pgoutput: Les colonnes générées ne sont pas publiées par le plugin de réplication logiquepgoutput. Cela signifie que lorsque vous répliquez des données de PostgreSQL vers un autre système, les valeurs des colonnes générées ne sont pas incluses dans le flux de réplication. - Problèmes avec les clés primaires : Si une colonne générée fait partie de votre clé primaire, cela peut entraîner des problèmes de déduplication dans le système de destination. Comme les valeurs des colonnes générées ne sont pas répliquées, le système de destination ne disposera pas des informations nécessaires pour identifier correctement les lignes et les dédupliquer.
-
Problèmes avec les modifications de schéma : Si vous ajoutez une colonne générée à une table déjà en cours de réplication, la nouvelle colonne ne sera pas renseignée dans le système de destination, car Postgres ne nous fournit pas le
RelationMessagepour cette nouvelle colonne. Si vous ajoutez ensuite une nouvelle colonne non générée à la même table, le ClickPipe, lorsqu’il tentera de synchroniser le schéma, ne pourra pas trouver la colonne générée dans le système de destination, ce qui entraînera un échec du processus de réplication.
Bonnes pratiques
- Recréez les colonnes générées sur le système de destination : Au lieu de vous appuyer sur le processus de réplication pour gérer les colonnes générées, il est recommandé de recréer ces colonnes sur le système de destination à l’aide d’outils comme dbt (outil de transformation des données) ou d’autres mécanismes de transformation des données.
- Évitez d’utiliser des colonnes générées dans les clés primaires : Lors de la conception de tables qui seront répliquées, il est préférable d’éviter d’inclure des colonnes générées dans la clé primaire.
Améliorations à venir de l’UI
- Identifier les tables avec des colonnes générées : l’UI comprendra une fonctionnalité permettant d’identifier les tables contenant des colonnes générées. Cela vous aidera à comprendre quelles tables sont concernées par ce problème.
- Documentation et bonnes pratiques : l’UI inclura des bonnes pratiques pour l’utilisation des colonnes générées dans les tables répliquées, ainsi que des recommandations pour éviter les pièges courants.