通过PostgreSql函数搜索'grep-alike'

Chr*_*heD 15 postgresql refactoring stored-functions

在重构PostgreSql函数时(更具体地说:在搜索'unused'函数时),有一个函数可以在函数定义中搜索特定的字符串.

有谁知道这是否是最好的方法(尝试'grep' - 搜索函数定义)还是有其他方法可用?

如何实现此功能?

Fra*_*ens 30

SELECT 
  proname AS functionname, 
  prosrc AS source 
FROM 
  pg_proc 
WHERE 
  prosrc ~* 'your_string';
Run Code Online (Sandbox Code Playgroud)

有关如何在PostgreSQL中使用正则表达式的详细信息,请参见手册.


Mar*_*s L 5

弗兰克的答案很好。使用此增强版本可另外列出有助于查找功能的架构:

SELECT
  proname AS functionname,
  prosrc AS source,
  nspname AS schema
FROM
  pg_proc
INNER JOIN pg_namespace ON (pg_proc.pronamespace = pg_namespace.oid)
WHERE
  prosrc ~* 'your_string';
Run Code Online (Sandbox Code Playgroud)