PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Was ist der Befehl, um das Skript einer vorhandenen Funktion in Postgresql zu finden?

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).