2012-07-03 1680 views

Respuesta

3

En la línea de comandos psql es \df+ foo, ¿verdad?

Finalmente, select prosrc from pg_proc where proname='foo';

7

Si está utilizando psql (interfaz de línea de comandos del) se puede utilizar como \df+ tobixen ya ha declarado (y que está documentado claramente en el manual).

Si necesita hacer esto desde una consulta SQL, eche un vistazo al system information functions. Que busca pg_get_functiondef()

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

Si se trata de funciones sobrecargadas tener un número diferente de parámetros, es necesario incluir la firma de parámetros en el nombre:

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

recuperará las versiones sobrecargadas de la función foo (una versión con un solo parámetro int, la otra versión con dos parámetros int).

Cuestiones relacionadas