IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

CDC sous PostgreSQL


Sujet :

PostgreSQL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 24
    Par défaut CDC sous PostgreSQL
    Bonjour,

    Je suis actuellement sur un projet de mise en place d'un journal qui tient en temps réel toutes les modifications, insertions et suppressions de certaines tables dans la base de données.
    J'ai commencé par utiliser un outils d'ETL (Talend) qui possède des composants CDC (Change Data Capture) et qui permet de gérer ce genre de mécanismes mais après plusieurs tests cela ne me convenait pas vraiment.
    J'ai donc décidé de gérer cela moi même au sein du SGBD (ici postgre) et donc j'ai créé une table 'journal' qui s'alimente en fonction des Insert, Update et Delete d'une table source.
    Cette table contient donc tous les champs de la table source et en plus un op_id (l'id de la table) une date_debut (date d'insertion ou de modifs) et une date_fin (date de modifs ou date de suppression) et en fait si j'ai par exemple 1 insertion, 4 modifs sur le même enregistrement, puis une suppression, mon journal aura 5 lignes (voir procédure pour l'aspect du journal)
    J'ai donc créé des triggers pour 'catcher' mes insert, update et delete qui vont appeler chacun une procédure précise qui va gérer le journal.

    J'en arrive à mon problème : pour l'insertion tout va bien, mes traitements conservent une rapidité correcte mais lorsque je lance un update en masse (par exemple passer en UpperCase 2 colonnes de toute la table) le temps d'exécution est multiplié par 100. Pareil pour le Delete.
    Je sais que mes procédures lance des update sur le journal dans le cas de l'update et du delete sur la source, ça doit avoir un rapport avec ça. Je cherche désespérément comment arranger tout ça mais je ne trouve pas.

    J'ai mis ma procédure en fichier attachée.

    Merci d'avance pour mes sauveurs !
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  2. select dans un trigger sous Postgresql
    Par kastor_grog dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/09/2003, 17h00
  3. Comment entrer des lettres accentuées sous postgresql ?
    Par Chihuahua dans le forum Requêtes
    Réponses: 11
    Dernier message: 28/08/2003, 08h04
  4. Triggers sous PostGreSQL
    Par Phaf dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/08/2003, 14h22
  5. Création d'utilisateur sous PostgreSQL 7.3.2 avec PHP
    Par duongkhang dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 06/06/2003, 13h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo