删除表忽略PostgreSQL中的依赖项?

时间:2015-05-27 16:30:37

标签: sql postgresql amazon-web-services amazon-redshift

有没有办法在PostgreSQL中删除一个表而忽略依赖项(不使用CASCADE)?

我正在尝试删除并重新创建一个表,以便添加一个IDENTITY列(因为它似乎有no other way to do this in AWS Redshift),但我的视图依赖于表格。

我显然不想暂时修改每个相关视图,以便我可以删除并重新创建带有添加列的同一个表。

1 个答案:

答案 0 :(得分:0)

我找不到办法做到这一点。

我会做以下事情:

create table viewSQL
as select view_definition
from information_schema.views; 

drop table [table you want to change] cascade;

do $$
declare
record record ; 
lv_sql text; 
begin
for record in select view_definition 
              from viewSQL loop
                               execute immediate 'record.view_definition';
                           end loop; 
end $$