Voir le flux RSS

Alassane Diakité

PostgreSQL 9.5: Un exemple de decodage du journal de transaction

Noter ce billet
par , 15/07/2016 à 01h25 (338 Affichages)
Selon la documentation de PostgreSQL...
Le décodage logique correspond au processus d'extraction de tous les changements persistants sur une table d'une base de données dans un format cohérent et simple à comprendre, qui peut être interprété sans une connaissance détaillée de l'état interne de la base de données.
Dans PostgreSQL™, le décodage logique est implémenté en décodant le contenu des journaux de transaction (WAL), qui décrivent les changements au niveau stockage, dans un format spécifique tel que le flux de lignes ou des ordres SQL.
L'exemple que vous propose, decode le journal (recuperé!) en des DML (INSERT, UPDATE et DELETE) en claire.
Ci-joint, Le projet VS2010 en zip (copier les contenus des dossiers "include" et "lib" de l'installation de PostgreSQL 9.5 et copier les dans les dossiers correspondants) et la DLL généré(pour une utilisation tel qu'elle)

Mise en œuvre...
  1. copiez la DLL dans le dossier lib de PostgreSQL
  2. redémarrer le service PostgreSQL
  3. dans la BD voulue,
    1. création du slot
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      SELECT * FROM pg_create_logical_replication_slot('pg_sinesdecode', 'pg_sinesdecode');
    2. création d'une vue pour la lecture
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      CREATE OR REPLACE VIEW public.vdecode AS SELECT *   FROM pg_logical_slot_peek_changes('pg_sinesdecode', NULL,NULL);

Un résultat
Pièce jointe 215458
Miniatures attachées Images attachées  
Miniatures attachées Fichiers attachés

Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog Viadeo Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog Twitter Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog Google Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog Facebook Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog Digg Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog Delicious Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog MySpace Envoyer le billet « PostgreSQL 9.5: Un exemple de decodage du journal de transaction » dans le blog Yahoo

Mis à jour 19/07/2016 à 18h48 par alassanediakite (un bug corrigé et ajout du projet VS2010)

Tags: postgresql, sql
Catégories
Bases de données , SQL , PostgreSQL

Commentaires