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

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

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

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

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

最佳答案

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

我会做类似下面的事情:

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

关于sql - 删除表忽略 PostgreSQL 中的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30488233/

相关文章:

具有一些用户定义字段的 SQL 数据库设计

mysql - 从大 dB 中删除重复行

amazon-web-services - 如何使用现有VPC创建aws_instance?

sql - 从数据库中的列值生成直方图

sql - AWS Redshift 列限制?

sql - 为什么位置查询不好?

sql - postgresql 中仅附加日志的最新条目

macos - 如何在 mac os x 上设置 postgres 管理员用户?

postgresql - 如何在 Prisma ORM 中过滤关系

linux - 无法启动httpd服务器: Address already in use