Skip to content

Instantly share code, notes, and snippets.

@ianpgall
Created March 11, 2014 19:05
Show Gist options
  • Save ianpgall/9492728 to your computer and use it in GitHub Desktop.
Save ianpgall/9492728 to your computer and use it in GitHub Desktop.
PostgreSQL view that lists all functions and their source code
create or replace view showfunctions as
select
l.lanname,
t.typname || ' = ' || n.nspname || '.' ||
p.proname || '(' || pg_catalog.oidvectortypes(p.proargtypes) || ')'
as function_definition,
(select case when lanname <> 'c'
then '\n\n'||prosrc ||'\n\n'
else '\n'||prosrc ||'.so\n\n'
end) as source
from pg_proc p, pg_type t, pg_namespace n, pg_language l
where p.prorettype = t.oid and p.pronamespace = n.oid
and p.prolang = l.oid;
@DurgaPratapRajbhar
Copy link

select
l.lanname,
t.typname || ' = ' || n.nspname || '.' ||
p.proname || '(' || pg_catalog.oidvectortypes(p.proargtypes) || ')'
as function_definition,
(select case when lanname <> 'c'
then '\n\n'||prosrc ||'\n\n'
else '\n'||prosrc ||'.so\n\n'
end) as source

@DurgaPratapRajbhar
Copy link

select
l.lanname,
t.typname || ' = ' || n.nspname || '.' ||
p.proname || '(' || pg_catalog.oidvectortypes(p.proargtypes) || ')'
as function_definition,
(select case when lanname <> 'c'
then '\n\n'||prosrc ||'\n\n'
else '\n'||prosrc ||'.so\n\n'
end) as source

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment