Vous n'êtes pas identifié(e).
Bonjour,
Je n'arrive pas à récupérer le code complet pour la création de fonctions/procédures:
J'utilise:
SELECT prosrc FROM pg_proc WHERE proname='******';
Mais cela donne une source inutilisable pour recréer cette même fonction en récupérant cette source dans un script.
\df+ nom_fonction
Même chose, c'est inutilisable
La fonction get_functiondef(oid) ne fonctionne pas chez moi je suis en postgre 8.2.
Avez vous d'autres idées ?; Normalement le code que je suis censé récupérer devrait ressembler a CREATE FUNCTION .... etc .... ici ce n'est pas le cas.
Merci d'avance.
Hors ligne
Bonjour,
avec une version aussi ancienne, il faut générer la partie CREATE FUNCTION... à l'aide des informations dans la table pg_proc, notamment pour les arguments. Certains programmes le font, comme pg_dump ou pgAdmin.
Julien.
https://rjuju.github.io/
Hors ligne
Merci rjuju,
PG_Dump le fait avec quelles options ? ; je genere simplement les ddl du schéma il me sort bien les ordres de créations des triggers pour lesquelles des fonctions sont liés mais pas l'ordre de création des fonctions elles mêmes !!
Si je rajoute CREATE FUNCTION au prosrc que je récupére, il me manque les arguments passés a ses fonctions comment puis je les récupérer ?
Merci.
Hors ligne
Essayez pg_get_functiondef...
Guillaume.
Hors ligne
ça ne fonctionne pas Gleu merci quand même, je l'ai dit dans le texte initial du sujet. Je suis en 8.2 ceci explique sans doute cela, inutilie de me demander de migrer ^^
Hors ligne
pg_dump -s devrait donner tout le DDL de la base, fonctions y compris. Vérifiez bien que vous ne restreigniez pas votre dump sur un schéma spécifique.
Julien.
https://rjuju.github.io/
Hors ligne
Oups, oui, désolé. Je n'avais pas relu le début.
Guillaume.
Hors ligne
Bon je m'en suis sorti, merci a vous 2. L'occasion pour moi de me rendre compte que sous postgres un user n'est pas égal a un schéma comme sous Oracle ^^.
Hors ligne
Effectivement, cependant le search_path par défaut ("$user",public) donne quand même une priorité au schéma utilisateur s'il est présent.
Julien.
https://rjuju.github.io/
Hors ligne