sam*_*sam 2 sql amazon-redshift
在进行更改之前,我需要检查给定表的下游依赖关系。我将如何列出依赖于 Specific_table 的任何 Redshift 表或视图?
我试过:
SELECT DISTINCT c_p.oid AS tbloid
,n_p.nspname AS schemaname
,c_p.relname AS NAME
,n_c.nspname AS refbyschemaname
,c_c.relname AS refbyname
,c_c.oid AS viewoid
FROM pg_class c_p
JOIN pg_depend d_p ON c_p.relfilenode = d_p.refobjid
JOIN pg_depend d_c ON d_p.objid = d_c.objid
JOIN pg_class c_c ON d_c.refobjid = c_c.relfilenode
LEFT JOIN pg_namespace n_p ON c_p.relnamespace = n_p.oid
LEFT JOIN pg_namespace n_c ON c_c.relnamespace = n_c.oid
WHERE d_c.deptype = 'i'::"char"
AND c_c.relkind = 'v'::"char"
and schemaname like 'actual_schema_name'
and name = 'actual_table_name';
Run Code Online (Sandbox Code Playgroud)
但这是来自一些基本的谷歌搜索,我真的不知道它是否接近。
我建议从 AWS Redshift 团队的官方 Redshift Utils github 存储库实施管理视图,这将为您提供一堆有用的系统视图 - 包括计算依赖项所需的视图。
您至少需要以下视图:
要查找“TableA”的所有依赖项,您可以查询admin.v_object_dependency
例如
SELECT *
FROM admin.v_object_dependency
WHERE
src_schemaname = 'MySchema' AND
src_objectname = 'TableA';
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5400 次 |
最近记录: |