PostgreSQLでVIEWの一覧を取得するSQL

記事内に広告が含まれています。

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 を利用することで一覧を取得することができます。

タイトルとURLをコピーしました