PostgreSQL 查询数据库中所有函数信息,函数名(全部)

select
	p .oid,
	p .proname,
	p .proargtypes,
	p .proacl,
	p .prorettype,
	p .prosecdef,
	p .proisstrict,
	p .proretset,
	p .provolatile,
	p .prosrc,
	p .probin,
	obj_description (p .oid) as comment,
	pg_get_userbyid (p .proowner) as funcowner,
	typ.typname,
	typns.nspname,
	lng.lanname,
	p .proargnames,
	p .proargmodes,
	p .proallargtypes,
	p .procost,
	p .prorows,
	p .proconfig,
	pg_get_expr (
		p .proargdefaults,
		'pg_proc' :: regclass
	) as defaultvalues
from
	pg_proc p
join pg_type typ on typ.oid = p .prorettype
join pg_namespace typns on typns.oid = typ.typnamespace
join pg_namespace prons on prons.oid = p .pronamespace
join pg_language lng on lng.oid = p .prolang
where
	proisagg = false
and typ.typname != 'trigger'
and prons.nspname = 'public'
SELECT
  pg_proc.proname AS "函数名称",
  pg_type.typname AS "返回值数据类型",
  pg_proc.pronargs AS "参数个数"
FROM
  pg_proc
JOIN pg_type ON (pg_proc.prorettype = pg_type.oid)
-- WHERE pronamespace = (SELECT pg_namespace.oid FROM pg_namespace WHERE nspname = '模式')
select
	p .oid,
	p .proname,
	p .proargtypes,
	p .proacl,
	p .prorettype,
	p .prosecdef,
	p .proisstrict,
	p .proretset,
	p .provolatile,
	p .prosrc,
	p .probin,
	obj_description (p .oid) as comment,
	pg_get_userbyid (p .proowner) as funcowner,
	typ.typname,
	typns.nspname,
	lng.lanname,
	p .proargnames,
	p .proargmodes,
	p .proallargtypes,
	p .procost,
	p .prorows,
	p .proconfig,
	pg_get_expr (
		p .proargdefaults,
		'pg_proc' :: regclass
	) as defaultvalues
from
	pg_proc p
join pg_type typ on typ.oid = p .prorettype
join pg_namespace typns on typns.oid = typ.typnamespace
join pg_namespace prons on prons.oid = p .pronamespace
join pg_language lng on lng.oid = p .prolang
where
	proisagg = false
and typ.typname != 'trigger'
and prons.nspname = 'public'
--and p .proname = 'auto_update';
show search_path;
select
	nspname
from
	pg_namespace;
select
	tablename,
	schemaname
from
	pg_tables
where
	schemaname = 'public'
order by
	schemaname,
	tablename;
select
	viewname,
	schemaname
from
	pg_views
where
	schemaname = 'public'
order by
	schemaname,
	viewname;
select
	t .oid,
	n.nspname,
	t .typname
from
	pg_type t
left join pg_namespace n on t .typnamespace = n.oid;
select
	datlastsysoid
from
	pg_database;
select
	p .proname,
	s.nspname,
	p .proargtypes,
	p .proargnames,
	p .proargmodes,
	p .proallargtypes,
	pg_get_expr (
		p .proargdefaults,
		'pg_proc' :: regclass
	) as defaultvalues
from
	pg_proc p
join pg_type typ on typ.oid = p .prorettype
join pg_namespace s on p .pronamespace = s.oid
where
	proisagg = false
and s.nspname = 'public'
and typ.typname != 'trigger'
order by
	p .proname;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐