Redshift-如何显示CASCADE将删除的依赖项?

问题描述 投票:0回答:1

在Redshift中删除表格时,我收到一条错误消息:

Amazon无效操作:无法删除表 rawdata.bss_edw_customer_account,因为其他对象依赖它;

我不想使用CASCADE,因为我不知道它将杀死其他哪些表/视图。如何找出哪些表或视图依赖于要删除的表?我想确保我不会踩别人的工作。

谢谢

amazon-redshift cascade
1个回答
0
投票

对象[1]和约束[2]依赖项的Redshift Admin视图可以帮助识别依赖对象。您还可以按照DROP表文档[3]中的描述创建find_depend视图,以查看任何依赖关系。

我还发现这些视图可能并不总是将物化视图列为从属对象。如果您过去创建过任何MV,则可能要使用视图DDL检查依赖关系。以下查询可能会有所帮助:

select schemaname, viewname from pg_views where schemaname not like 'pg_catalog' and schemaname not like 'information_schema' and definition like '%<tablename>%';

[1] https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_object_dependency.sql

[2] https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_constraint_dependency.sql

[3] https://docs.aws.amazon.com/redshift/latest/dg/r_DROP_TABLE.html

© www.soinside.com 2019 - 2024. All rights reserved.