vendredi, septembre 24 2004, 16:59
Ajouter une trace lors de la suppression d'une ligne d'une table spécifique
Par Guillaume Lelarge - PostgreSQL - Lien permanent
L'idée est de créer une fonction Pl/Pgsql et de la lier à un déclencheur (trigger pour les anglophones).
Voici à quoi doit ressembler la requête de création de la fonction :
create or replace function trace() returns trigger as ' declare utilisateur varchar(255); begin select into utilisateur current_user; raise notice \'Suppression de la ligne % par l\'\'utilisateur %\', old.identifiant_ligne, utilisateur; return old; end; ' langage 'plpgsql';
Et voici la requête faisant le lien entre cette fonction et un nouveau déclencheur :
create trigger trace_matable before delete on matable for each row execute procedure trace();
Lors de la prochaine suppression, vous obtiendrez ce genre de messages dans vos traces :
NOTICE: Suppression de la ligne 880100 par l'utilisateur gl
aucun commentaire