【问题标题】:Drop table ignoring dependencies in PostgreSQL?删除表忽略PostgreSQL中的依赖关系?
【发布时间】:2015-05-27 16:30:37
【问题描述】:

有什么方法可以在 PostgreSQL 中删除表而忽略依赖关系(不使用 CASCADE)?

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

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

【问题讨论】:

  • 不能重新创建视图吗?
  • 试图避免这样做,因为这将是很多开销......

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


【解决方案1】:

我找不到这样做的方法。

我会做如下的事情:

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 $$

【讨论】:

    猜你喜欢
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多