我正在尝试清理Postgres数据库并在命名约定中创建一些一致性。
我想生成一个功能列表,其中的列作为工作清单。
我想知道是否有比将函数定义转储到文件并分别搜索每一列更简单的方法?
答案 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
代表单词边界。)