Wenn Sie psql (die Befehlszeilenschnittstelle) verwenden, können Sie \df+
verwenden wie Tobixen bereits gesagt hat (und was im Handbuch eindeutig dokumentiert ist).
Wenn Sie dies aus einer SQL-Abfrage heraus tun müssen, werfen Sie einen Blick auf Systeminformationsfunktionen
. Sie suchen nach pg_get_functiondef()
select pg_get_functiondef(oid)
from pg_proc
where proname = 'your_function';
Wenn Sie es mit überladenen Funktionen zu tun haben, die eine andere Anzahl von Parametern haben, müssen Sie die Parametersignatur in den Namen aufnehmen:
select pg_get_functiondef('public.foo(int)'::regprocedure);
select pg_get_functiondef('public.foo(int,int)'::regprocedure);
ruft die überladenen Versionen der Funktion foo
ab (eine Version mit einem einzelnen int-Parameter, die andere Version mit zwei int-Parametern).