【pgsql】viewのSQLのソースの中を検索したい

最近のお仕事で、200のviewの中のソースの中を検索したい、という案件が出てきた。

DBはpgsql。

今請け負っている作業で、viewが200ある巨大なDBを使っているシステムがあるのだが、仮にabcテーブルに問題が見つかり、abcテーブルを読み込んでいるviewを調査してくれ、というのが内容だ。

viewで読み込んでいるテーブルを調査するには、viewのcreate文のソースを検索したい。

そんか事しようと思った事が今までなかったので調査。

試行錯誤した結果以下の方法で実現出来ました。↓

SELECT viewname FROM pg_views WHERE definition like ‘%abc%’;

viewのテーブル全部が

pg_views

で探せる。

ソースの中は

definition

だったようだ。