Ответ 1
SELECT
proname AS functionname,
prosrc AS source
FROM
pg_proc
WHERE
prosrc ~* 'your_string';
Сведения о том, как использовать регулярное выражение в PostgreSQL, можно найти в руководстве.
При рефакторинге функций PostgreSql (и более конкретных: при поиске "неиспользуемых" функций) было бы удобно иметь функцию, доступную для поиска определенной строки в определениях функций.
Кто-нибудь знает, если это лучший подход (попытка "grep'-поиск определений функций" ) или существуют альтернативные методы?
Как реализовать эту функциональность?
SELECT
proname AS functionname,
prosrc AS source
FROM
pg_proc
WHERE
prosrc ~* 'your_string';
Сведения о том, как использовать регулярное выражение в PostgreSQL, можно найти в руководстве.
Фрэнк ответ велик. Используйте эту расширенную версию, чтобы дополнительно перечислить схему, которая помогает найти функцию:
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';