解决方法
在其正文中包含文本“thetable”的函数.
select * from ( select proname,row_number() over (partition by proname) as line,textline from ( select proname,unnest(string_to_array(prosrc,chr(10))) textline from pg_proc p join pg_namespace n on n.oid = p.pronamespace where nspname = 'public' and prosrc ilike '%thetable%' ) lines ) x where textline ilike '%thetable%';
具有与表相关联的任何参数或返回值的函数.
例如:
create function f2(rec thetable)... create function f1() returns setof thetable...
with rtype as ( select reltype from pg_class where relname = 'thetable') select distinct on (proname) proname,prorettype,proargtypes from pg_proc p join pg_namespace n on n.oid = p.pronamespace cross join rtype where nspname = 'public' and ( prorettype = reltype or reltype::text = any(string_to_array(proargtypes::text,' ')))
当然,您可以将查询合并为一个.我将它们用于不同的目的.