From abbbad5844e3ac4fe9fb623e64c662c325e97e1c Mon Sep 17 00:00:00 2001 From: pashko Date: Sun, 16 Feb 2025 18:50:38 +0800 Subject: [PATCH] Update readme.md --- readme.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/readme.md b/readme.md index ebb17f9..32b04cd 100644 --- a/readme.md +++ b/readme.md @@ -98,3 +98,34 @@ JOIN document_details dd ON da.doc_id = dd.doc_id; ``` +## 3. Поиск зависимостей представлений + +```sql +WITH RECURSIVE view_dependencies AS ( + SELECT + c.oid AS view_oid, + c.relname AS view_name, + n.nspname AS schema_name, + NULL::text AS depends_on + FROM pg_class c + JOIN pg_namespace n ON c.relnamespace = n.oid + WHERE c.relkind = 'v' -- только представления + AND n.nspname = 'public' + AND c.relname IN ('author_documents', 'document_details', 'latest_document_versions') + + UNION ALL + + SELECT + d.refobjid AS view_oid, + c.relname AS view_name, + n.nspname AS schema_name, + d.objid::regclass::text AS depends_on + FROM pg_depend d + JOIN pg_class c ON d.refobjid = c.oid + JOIN pg_namespace n ON c.relnamespace = n.oid + WHERE d.classid = 'pg_class'::regclass + AND d.refclassid = 'pg_class'::regclass + AND c.relkind = 'v' +) +SELECT * FROM view_dependencies; +```