Si vous utilisez psql (l'interface de ligne de commande), vous pouvez utiliser \df+
comme tobixen l'a déjà indiqué (et qui est clairement documenté dans le manuel).
Si vous avez besoin de le faire à partir d'une requête SQL, consultez le fonctions d'informations système
. Vous recherchez pg_get_functiondef()
select pg_get_functiondef(oid)
from pg_proc
where proname = 'your_function';
Si vous avez affaire à des fonctions surchargées ayant un nombre différent de paramètres, vous devez inclure la signature du paramètre dans le nom :
select pg_get_functiondef('public.foo(int)'::regprocedure);
select pg_get_functiondef('public.foo(int,int)'::regprocedure);
récupérera les versions surchargées de la fonction foo
(une version avec un seul paramètre int, l'autre version avec deux paramètres int).