PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Qual è il comando per trovare lo script di una funzione esistente in postgresql?

Se stai usando psql (l'interfaccia a riga di comando) puoi usare \df+ come ha già affermato tobixen (e che è chiaramente documentato nel manuale).

Se hai bisogno di farlo da una query SQL, dai un'occhiata a funzioni di informazioni di sistema . Stai cercando pg_get_functiondef()

select pg_get_functiondef(oid)
from pg_proc
where proname = 'your_function';

Se hai a che fare con funzioni sovraccaricate con un numero diverso di parametri, devi includere la firma del parametro nel nome:

select pg_get_functiondef('public.foo(int)'::regprocedure);
select pg_get_functiondef('public.foo(int,int)'::regprocedure);

recupererà le versioni sovraccaricate della funzione foo (una versione con un solo parametro int, l'altra versione con due parametri int).