列出列名称的所有表/函数的PostgreSQL列表

时间:2018-12-21 03:05:34

标签: postgresql function search stored-procedures

我正在尝试清理Postgres数据库并在命名约定中创建一些一致性。

我想生成一个功能列表,其中的列作为工作清单。

我想知道是否有比将函数定义转储到文件并分别搜索每一列更简单的方法?

1 个答案:

答案 0 :(得分:2)

要查找包含ColumnName的表和视图:

SELECT attrelid::regclass
FROM pg_attribute
WHERE attname = 'columnname'

要查找在其代码中某处提及ColumnName的函数:

SELECT oid::regprocedure, prosrc
FROM pg_proc
WHERE prosrc ~* '\yColumnName\y'

({~*是不区分大小写的正则表达式匹配项,\y代表单词边界。)