Stocker les modifications Postgres dans le lakehouse
La fonctionnalité Change Data Feed de Lakebase est en aperçu public.
Configurez le flux de données de modification (CDF) de Lakebase sur une table Postgres, puis observez les modifications au niveau des lignes apparaître dans la table Delta de destination.
**Étapes :** ① Activer la capture des changements → ② Start le flux → ③ Suivre une ligne dans le lakehouse → ④ Modifier la ligne, la voir passer
Ceci est un démarrage rapide. Pour une documentation complète, consultez Flux de données de changement Lakebase.
Avant de commencer
- Assurez-vous d'avoir terminé la section Obtenir une base de données Postgres. Vous avez besoin d'un projet Lakebase avec la table d'échantillons
playing_with_lakebase. - Un catalogue et un schéma Unity Catalog où vous disposez de l'autorisation
CREATE TABLE.
Étape 1 : Activer la capture de changement
Postgres a besoin de données de ligne complètes dans le log d'écriture anticipée pour que CDF fonctionne. Définir l'identité de la réplique sur « full » indique à Postgres d'enregistrer l'état de l'ancienne et de la nouvelle ligne pour chaque modification.
Dans l'Éditeur SQL Lakebase, exécutez :
ALTER TABLE playing_with_lakebase REPLICA IDENTITY FULL;
En savoir plus : Définir l'identité du réplica sur toutes les tables d'un schéma et l'appliquer automatiquement aux nouvelles tables
Étape 2 : start le flux
Lakebase CDF est configuré au niveau du schéma. Chaque table actuelle et future dans le schéma source est incluse automatiquement, de sorte que vous ne sélectionnez pas de tables individuelles.
Depuis votre Branch de production, ouvrez Vue d'ensemble de la Branch en cliquant sur le nom de la Branch dans le fil d'Ariane supérieur, puis ouvrez la Lakebase CDF tab et cliquez sur Start . Choisissez public comme schéma source, puis sélectionnez un catalogue et un schéma de destination Unity Catalog. L'instantané initial commence immédiatement, et lb_playing_with_lakebase_history apparaît comme une table Delta dans votre destination.

En savoir plus : start the change data feed
Étape 3 : Suivre une ligne dans le lakehouse
Sélectionnez une ligne depuis Lakebase. Jetez un œil à la ligne id=2:
SELECT * FROM playing_with_lakebase WHERE id = 2;
Maintenant, trouvez la même ligne dans la table d'historique Delta. Basculez vers un Databricks SQL warehouse ou un Notebook et exécutez :
SELECT * FROM <catalog>.<schema>.lb_playing_with_lakebase_history
WHERE id = 2;
Remplacez <catalog> et <schema> par la destination que vous avez choisie à l'Étape 2. Vous verrez la ligne id=2 avec les mêmes name et value que dans Lakebase, plus des colonnes supplémentaires. L'instantané initial a écrit chaque ligne existante dans Delta en tant qu'événement insert, ce que cette ligne représente.
Ces colonnes supplémentaires décrivent le type d'événement que représente chaque ligne (_pg_change_type), quand il s'est produit (_timestamp) et les informations de tri Postgres (_pg_lsn, _pg_xid).
En savoir plus : Schéma de la table de destination | Mappage des types de données
Étape 4 : modifiez la ligne et observez-la circuler.
De retour dans l'Éditeur SQL Lakebase, mettez à jour la ligne id=2:
UPDATE playing_with_lakebase SET value = 55.5 WHERE id = 2;
Patientez quelques secondes pour que la modification apparaisse dans le flux, puis interrogez à nouveau la table d'historique :
SELECT id, value, _pg_change_type, _timestamp
FROM <catalog>.<schema>.lb_playing_with_lakebase_history
WHERE id = 2
ORDER BY _pg_lsn DESC;

La ligne id=2 apparaît maintenant trois fois : l'original insert, une update_preimage avec l'ancienne valeur et une update_postimage avec la nouvelle valeur. Chaque modification de la ligne devient une nouvelle ligne d'historique, vous disposez donc toujours d'une piste d'audit complète. Les suppressions fonctionnent de la même manière, en ajoutant une ligne avec _pg_change_type = 'delete'.
En savoir plus : Modèles de modification courants | Construire des pipelines en aval
Étapes suivantes
- Créer un pipeline en aval : transformer la table d'historique en agrégat en temps réel avec une vue matérialisée, des LakeFlow Pipelines ou du Structured Streaming.
- Exécuter des analytique : Interrogez vos tables d'historique Delta avec Databricks SQL.
- Utilisez la couche bronze : Branchez la table d'historique dans une architecture en médaillon.
- Examinez les limites de production : consultez les limites et le dépannage et la gestion des modifications de schéma.
- Découvrez Lakebase : Concepts fondamentaux | Lakebase