PostgreSQL约束 - ON DELETE CASCADE不被恢复

问题描述:

我在另一台服务器中恢复PostgreSQL数据库模式时遇到了问题。更确切地说,有些表似乎没有与他们曾经在原始数据库中使用的相关的外键约束。例如,ON DELETE CASCADE子句似乎已完全从所有约束定义中蒸发。PostgreSQL约束 - ON DELETE CASCADE不被恢复

这可能是因为转储过程没有备份表定义中的ON DELETE CASCADE子句。

首先,你应该删除你的表的外键约束,然后再上改变他们:

类似以下内容:

ALTER TABLE ONLY *your_table* DROP CONSTRAINT your_constraint; 

之后,随着像重建约束:

ALTER TABLE ONLY your_table ADD CONSTRAINT your_constraint (...ON DELETE CASCADE, etc..); 
+1

谢谢,这是问题,所有的约束,除了删除级联恢复。 – user1755801 2013-04-25 08:05:23