PostgreSQL список всех таблиц / функций, ссылающихся на имя столбца - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь очистить базу данных Postgres и создать некоторую согласованность в соглашениях об именах.

Я хотел бы сгенерировать список функций, в которых столбцы существуют, как контрольный список для работы.

Мне было интересно, есть ли более простой способ, чем выгрузить определения функций в файл и искать каждый столбец отдельно?

1 Ответ

0 голосов
/ 21 декабря 2018

Чтобы найти таблицы и представления, содержащие ColumnName:

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

Чтобы найти функции, которые упоминают ColumnName где-то в своем коде:

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

(~* являетсярегистрозависимое совпадение без учета регистра, \y представляет границу слова.)

...