PostgreSQLでは複数のテーブルを結合した状態を1つのテーブルのようにあつかえるVIEWという機能を有しています。
この記事ではその VIEW の一覧を PostgreSQL から取得する SQL を解説します。
PostgreSQLでVIEWの一覧を取得するSQL
PostgreSQLでVIEWの一覧を取得するには pg_views を利用します。
SELECT pg_views.viewname AS view_name ,pg_class.oid AS oid FROM pg_views LEFT OUTER JOIN pg_class ON pg_views.viewname = pg_class.relname WHERE schemaname = current_schema() ORDER BY viewname
WHERE 句の schemaname = current_schema() は現在接続中のスキーマのものに絞るための条件です。
すべての VIEW の情報を取得する場合は不要になります。
上記のSQLを実行すると
view_name oid view_table01 72102 view_table02 72115 view_table03 75258 view_table04 89541 view_table05 89721
※ 上記の SQL では PostgreSQL が各種情報を管理するための OID を同時に取得するため pg_class を JOINしています。
まとめ
PostgreSQLでVIEWの一覧を取得するには pg_views を利用することで一覧を取得することができます。