首页 > 解决方案 > 删除 postgresql 表中的所有约束 - 删除级联

问题描述

我的数据库中有 21 个表。但是,表模式存在一些问题(因为我们正在尝试改进我们的数据模型)。我已经提到了这篇文章,但它是针对 SQL 服务器的。

目前,仅出于验证目的,我想在其中上传数据。

然而,一些定义不明确的约束正在引起麻烦。

所以,我想只删除所有约束(从所有表中),如外键、检查、唯一、PK、索引等。

我怎样才能做到这一点?

目前我尝试了以下

ALTER TABLE subject
  DROP CONSTRAINT subject_details_pk CASCADE;
ALTER TABLE subject
  DROP CONSTRAINT subject_foreign_fk CASCADE;

如您所见,我必须在不同的表中逐行编写(并手动找出哪个表是父表,哪个表是子表等)。

那么,有没有其他方法可以删除表中的所有约束?喜欢 Drop cascade 吗?

可以帮我解决这个问题吗?

标签: sqlpostgresqlforeign-keysprimary-keyunique-constraint

解决方案


推荐阅读