From: | Didier BRETIN <dbr(at)informactis(dot)com> |
---|---|
To: | Pgsql Generale Fr <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Comment retrouver le source d'une fonction utilisé par un trigger ? |
Date: | 2005-10-06 13:54:22 |
Message-ID: | 43452C8E.8050306@informactis.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Bonjour,
J'ai bataillé ce matin pour arriver à retrouver dans ma bdd, sous
une version 7.2, (oui je sais c'est une vielle version ;) ), le source
d'une fonction utilisé par un déclencheur (version française de trigger).
Après avoir embêté SAS sur #postgresqlfr et KL sur #postgresql,
voici le résultat de mes recherches.
Tout d'abord retrouvé le nom de mon déclencheur :
> \d ma_table
Et tout en bas, je trouve le nom de mon déclencheur : ajout_trigg
Ensuite un select sur la table pg_trigger pour trouver les informations
concernant mon déclencheur :
> select * from pg_trigger where tgname ~* 'ajout_trigg';
La colonne tgfoid me donne l'oid d'une ligne de la table pg_proc comme
indiqué dans la documentation. Ici 2595526. Et de là un dernier select pour avoir
le source de ma fonction :
> select proname, prosrc from pg_proc where oid=2595526;
Ce qui m'a intrigué en fait, c'est que la colonne oid n'apparait pas
quand on fait un "\d pg_proc" ou même dans la documentation de cette
table. Donc je n'avais pas pensé, au départ, merci KL, à utiliser
le "where oid=2595526" sur pg_proc.
Les pages qui m'ont aidées :
- http://www.postgresql.org/docs/7.2/interactive/catalog-pg-trigger.html
- http://www.postgresql.org/docs/7.2/interactive/catalog-pg-proc.html
PS : ya pas à dire c'est bien irc :)
--
Didier BRETIN
INFORMACTIS
http://www.informactis.com/
tél : 04 72 69 52 00
From | Date | Subject | |
---|---|---|---|
Next Message | Francois Suter | 2005-10-07 14:12:47 | Re: Liste de consultances [WAS: Autorisation d'une pub] |
Previous Message | thomas.silvi | 2005-10-05 21:36:40 | Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] problem fermeture de connection <signal 11> par un déclencheur |