Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Cet article explique comment ajouter une source de capture de données modifiées (CDC) de la base de données PostgreSQL à un Eventstream.
Le connecteur source de capture de données modifiées (CDC) de base de données PostgreSQL pour les Evenstreams Microsoft Fabric vous permet de capturer un instantané des données actuelles dans une base de données PostgreSQL. Actuellement, postgreSQL Database Change Data Capture (CDC) est pris en charge à partir des services suivants où les bases de données sont accessibles publiquement :
- Base de données Azure pour PostgreSQL
- Amazon RDS pour PostgreSQL
- Amazon Aurora PostgreSQL
- Google Cloud SQL pour PostgreSQL
Une fois la source CDC de base de données PostgreSQL ajoutée au flux d’événements, elle capture les modifications au niveau des lignes apportées aux tables spécifiées. Ces modifications peuvent ensuite être traitées en temps réel et envoyées à différentes destinations pour une analyse plus approfondie.
Prérequis
Accès à un espace de travail en mode licence de capacité Fabric ou en mode licence d’évaluation avec des autorisations Collaborateur ou supérieures.
Accès utilisateur inscrit dans la base de données PostgreSQL.
Votre base de données PostgreSQL doit être accessible au public et ne doit ni se trouver derrière un pare-feu, ni être sécurisée dans un réseau virtuel.
CDC activé dans la base de données et les tables PostgreSQL.
Si vous avez Azure Database pour PostgreSQL, suivez les étapes de la section suivante pour activer la CDC. Pour des informations détaillées, consultez Réplication logique et décodage logique - Serveur flexible Azure Database pour PostgreSQL.
Pour les autres bases de données PostgreSQL, consultez le connecteur Debezium pour PostgreSQL :: Documentation de Debezium.
Si vous n’avez pas d’Eventstream, créez-en un.
Activer la capture de données modifiées dans votre base de données PostgreSQL
Cette section utilise Azure Database pour PostgreSQL comme exemple.
Procédez comme suit pour activer CDC sur votre serveur flexible Azure Database pour PostgreSQL :
Sur la page de votre serveur Azure Database pour PostgreSQL, sélectionnez Paramètres du serveur dans le menu de navigation.
Sur la page Paramètres du serveur :
- Définir wal_level sur logique.
- Mettez à jour le max_worker_processes sur au moins 16.
Enregistrez les modifications et redémarrez le serveur.
Vérifiez que votre instance de serveur flexible Azure Database pour PostgreSQL autorise le trafic réseau public.
Accordez les autorisations de réplication de l’utilisateur administrateur en exécutant l’instruction SQL suivante. Si vous souhaitez utiliser un autre compte utilisateur pour connecter votre base de données PostgreSQL afin de récupérer la capture de données modifiées (CDC), vérifiez que l’utilisateur est le propriétaire de la table.
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
Lancer l’Assistant Sélectionner une source de données
Si vous n’avez pas encore ajouté de source à votre flux d’événements, sélectionnez la vignette Utiliser la source externe .
Si vous ajoutez la source à un flux d’événements déjà publié, basculez vers le mode Édition. Dans le ruban, sélectionnez Ajouter> dessources externes.
Dans la page Sélectionner une source de données, recherchez et sélectionnez Se connecter dans la vignette Base de données PostgreSQL (CDC).
Configurer et se connecter à postgreSQL Database CDC
Sur la page Connecter, sélectionnez Nouvelle connexion.
Dans la section Paramètres de connexion, saisissez les informations suivantes :
Serveur : adresse du serveur de votre base de données PostgreSQL, par exemple my-pgsql-server.postgres.database.azure.com.
Base de données : nom de la base de données, par exemple my_database.
Nom de la connexion : saisissez un nom pour la connexion.
Type d’authentification, sélectionnez Basic et entrez votre nom d’utilisateur et votre mot de passe pour la base de données.
Remarque
Actuellement, les flux d’événements Fabric prennent uniquement en charge l’authentification de base .
Sélectionnez Se connecter pour terminer les paramètres de connexion.
Port : entrez le numéro de port de votre serveur. La valeur par défaut est 5432. Si votre connexion cloud sélectionnée est configurée dans Gérer les connexions et les passerelles, vérifiez que le numéro de port correspond à celui défini ici. S’ils ne correspondent pas, le numéro de port dans la connexion cloud dans Gérer les connexions et les passerelles est prioritaire.
Vous pouvez choisir entre deux options lors de la capture des modifications à partir de tables de base de données :
- Toutes les tables : capturez les modifications de chaque table de la base de données.
-
Entrez le ou les noms de table : vous permet de spécifier un sous-ensemble de tables à l’aide d’une liste séparée par des virgules. Vous pouvez utiliser soit : identificateurs de table complets au format
schemaName.tableNameou expressions régulières valides. Exemples: -
dbo.test.*: sélectionnez toutes les tables dont les noms commencent partestdans le schémadbo. -
dbo\.(test1|test2): Sélectionnerdbo.test1etdbo.test2.
Vous pouvez combiner les deux formats dans la liste. La limite de caractères totale de l’entrée entière est de 102 400 caractères.
Nom de l’emplacement (facultatif) : entrez le nom de l’emplacement de décodage logique PostgreSQL créé pour la diffusion en continu des modifications à partir d’un plug-in particulier pour une base de données/un schéma particulier. Le serveur utilise cet emplacement pour diffuser des événements vers le connecteur de streaming Eventstream. Il doit contenir uniquement des lettres minuscules, des chiffres et des traits de soulignement.
- S’il n’est pas spécifié, un GUID est utilisé pour créer l’emplacement, nécessitant les autorisations de base de données appropriées.
- Si un nom d’emplacement spécifié existe, le connecteur l’utilise directement.
Vous pouvez développer les paramètres avancés pour accéder à d’autres options de configuration pour la source cdc de la base de données PostgreSQL :
Nom de la publication : spécifie le nom de la publication de réplication logique PostgreSQL à utiliser. Cela doit correspondre à une publication existante dans la base de données, ou elle sera créée automatiquement en fonction du mode de création automatique. Valeur par défaut :
dbz_publication.Remarque
L’utilisateur du connecteur doit disposer des autorisations de superutilisateur pour créer la publication. Il est recommandé de créer la publication manuellement avant de démarrer le connecteur pour la première fois afin d’éviter les problèmes liés aux autorisations.
Mode de création automatique de publication : contrôle si et comment la publication est créée automatiquement. Les options sont les suivantes :
-
Filtered(valeur par défaut) : si la publication spécifiée n'existe pas, le connecteur en crée une qui inclut uniquement les tables sélectionnées (comme spécifié dans la liste des tables à inclure). -
AllTables: si la publication spécifiée existe, le connecteur l’utilise. S’il n’existe pas, le connecteur en crée un qui inclut toutes les tables de la base de données. -
Disabled: le connecteur ne crée pas de publication. Si la publication spécifiée est manquante, le connecteur lève une exception et s’arrête. Dans ce cas, la publication doit être créée manuellement dans la base de données.
Pour plus d’informations, consultez la documentation Debezium sur le mode de création automatique de publication
-
Mode de gestion décimal : spécifie la façon dont le connecteur gère les valeurs postgreSQL
DECIMALetNUMERICde colonne :-
Precise: représente des valeurs utilisant des types décimaux exacts (par exemple, JavaBigDecimal) pour garantir une précision et une précision complètes dans la représentation des données. -
Double: convertit les valeurs en nombres à virgule flottante de double précision. Cela améliore la facilité d’utilisation et les performances, mais peut entraîner une perte de précision. -
String: encode les valeurs sous forme de chaînes mises en forme. Cela facilite leur consommation dans les systèmes en aval, mais perd des informations sémantiques sur le type numérique d’origine.
-
Mode instantané : spécifiez les critères d’exécution d’un instantané au démarrage du connecteur :
-
Initial: le connecteur exécute un instantané uniquement lorsqu’aucun décalage n’a été enregistré pour le nom du serveur logique, ou s’il détecte qu’un instantané antérieur n’a pas pu être terminé. Une fois l’instantané terminé, le connecteur commence à diffuser en continu les enregistrements d’événements pour les modifications de base de données suivantes. -
InitialOnly: le connecteur exécute un instantané uniquement quand aucun décalage n’a été enregistré pour le nom du serveur logique. Une fois que l’instantané est terminé, le connecteur s’arrête. Il ne passe pas à la diffusion en continu pour lire les événements de modification à partir du binlog. -
NoData: le connecteur exécute un instantané qui capture uniquement le schéma, mais pas les données de table. Définissez cette option si vous n'avez pas besoin d'un instantané cohérent des données, mais seulement des modifications apportées depuis le démarrage du connecteur.
-
Requête d’action de pulsation : spécifie une requête exécutée par le connecteur sur la base de données source lorsque le connecteur envoie un message de pulsation.
Substitution de l'instruction SELECT pour instantané : spécifie les lignes de la table à inclure dans un instantané. Utilisez la propriété si vous souhaitez qu’un instantané inclue uniquement un sous-ensemble des lignes d’une table. Cette propriété affecte uniquement les instantanés. Cela ne s’applique pas aux événements que le connecteur lit dans le journal.
Sur la page Vérifier + se connecter, passez en revue le résumé, puis sélectionnez Ajouter.
Afficher l’Eventstream mis à jour
Vous pouvez voir la source CDC de la base de données PostgreSQL ajoutée à votre Eventstream en mode Édition.
Pour implémenter cette source de CDC de dB PostgreSQL récemment ajoutée, sélectionnez Publier. Une fois ces étapes terminées, votre source CDC de la base de données PostgreSQL est disponible pour la visualisation dans l’affichage en direct.
Contenu connexe
Autres connecteurs :
- Flux de données Amazon Kinesis
- Azure Cosmos DB
- Azure Event Hubs
- Azure Service Bus
- Azure IoT Hub
- Capture des changements de données (CDC) de la base de données Azure SQL
- Confluent Kafka
- Point de terminaison personnalisé
- Google Cloud Pub/Sub
- CDC de la base de données MySQL
- CDC de la base de données PostgreSQL
- Exemples de données
- Événements de Stockage Blob Azure
- Événement d’espace de travail Fabric