sql - PostgreSQL:获取与表相关的所有功能

标签 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

我怎样才能做一个做同样事情但忽略所有注释的查询?

最佳答案

您可以直接在这个维基页面上找到您需要的一切:https://wiki.postgresql.org/wiki/Pg_depend_display

根据您的 PostgreSQL 版本,存在各种依赖项 View 。

关于sql - PostgreSQL:获取与表相关的所有功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30709573/

相关文章:

python - curr.execute ("""INSERT INTO CITY (name) values (%s) ;""",(cities)) 无法将列表插入数据库

mysql - SQL 行返回顺序

sql - 提高性能 : Very Slow Oracle SQL Join

sql - 挑战 SQL 来查找复杂分组中的先前记录

mysql - 如果值存在于同一个表的另一列中,如何找到相应的列值

java - 如何使用 jdbc 将数据从 postgresql 导出到 .csv 文件?

mysql - 选择电子邮件之间的空间

C# 超出范围处理多个 sql 语句

postgresql - 如何解决 GitHub Actions 上 PostgreSQL 的 "permission denied for schema public"错误?

ruby-on-rails - 与 SQLite 和 PostgreSQL 兼容的 LIKE 查询