sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLでビュー/テーブルが依存するテーブルのリストを取得する

    Andy Lesterからの情報を使用して、必要な情報を取得するために次のクエリを思い付くことができました。

    外部キーが参照するテーブルを取得する:

    SELECT cl2.relname AS ref_table
    FROM pg_constraint as co
    JOIN pg_class AS cl1 ON co.conrelid=cl1.oid
    JOIN pg_class AS cl2 ON co.confrelid=cl2.oid
    WHERE co.contype='f' AND cl1.relname='TABLENAME'
    ORDER BY cl2.relname;
    

    テーブルからのビューまたはルールが参照するテーブルを取得します。

    SELECT cl_d.relname AS ref_table
    FROM pg_rewrite AS r
    JOIN pg_class AS cl_r ON r.ev_class=cl_r.oid
    JOIN pg_depend AS d ON r.oid=d.objid
    JOIN pg_class AS cl_d ON d.refobjid=cl_d.oid
    WHERE cl_d.relkind IN ('r','v') AND cl_r.relname='TABLENAME'
    GROUP BY cl_d.relname
    ORDER BY cl_d.relname;
    


    1. このタイプのデータベース設定を使用する理由を理解しようとしています

    2. MySQLGUIツールのトップ10

    3. postgresで重複する配列値を排除する

    4. MySQLは、複数の列を使用して重複するレコードを選択します