sql >> Databáze >  >> RDS >> PostgreSQL

Získání seznamu tabulek, na kterých závisí zobrazení/tabulka v PostgreSQL

Pomocí informací od Andyho Lestera jsem byl schopen přijít s následujícími dotazy, abych získal informace, které jsem potřeboval.

Získejte tabulky, na které odkazují cizí klíče:

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;

Získejte tabulky, na které odkazuje zobrazení nebo pravidla z tabulky:

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. Stejné pole vícekrát v dotazu MySQL IN s PDO

  2. Postgres převede typ PATH na ARRAY

  3. Elegantnější SQL?

  4. Otázky, které je třeba si položit před spuštěním databáze