PostgreSQL:获取与表相关的所有函数

时间:2015-06-08 12:46:30

标签: sql postgresql

我有这个功能:

SELECT n.nspname AS schema_name
      ,p.proname AS function_name
      ,pg_get_function_arguments(p.oid) AS args
      ,pg_get_functiondef(p.oid) AS func_def
FROM   (SELECT oid, * FROM pg_proc p WHERE NOT p.proisagg) p
JOIN   pg_namespace n ON n.oid = p.pronamespace
WHERE  n.nspname !~~ 'pg_%'
AND    n.nspname <> 'information_schema'
AND    pg_get_functiondef(p.oid) ~ '\mTableName\M';

它给出了一个使用TableName的函数列表。但它不会忽略音符。例如,如果在function A中,则会有如下行:

-- select * from TableName

它会在结果中显示A,即使它是一个注释而A并未真正使用TableName

如何创建执行相同但忽略所有注释的查询?

1 个答案:

答案 0 :(得分:0)

您可以直接在此Wiki页面上找到所需的一切:https://wiki.postgresql.org/wiki/Pg_depend_display

根据你的PostgreSQL版本,有各种各样的依赖关系视图。