我在postgre中有
一个ALTER TABLE的问题。我想改变varchar列的大小。当我尝试这样做时,它表示视图依赖于该列。我不能放弃视图,因为其他的依赖于它。有什么办法可以把所有的东西都丢下来再重新创建吗?
我刚刚发现一个选项,这是从视图中删除加入表,当我不会更改返回的列时,我可以这样做。但是,仍然有更多的意见需要改变。是不是有什么可以说,它应该推迟和检查与提交?
我遇到这个问题,找不到任何办法。不幸的是,尽可能地告诉我们,必须
删除视图,更改基础表上的列类型,然后重新创建视图。这可以完全在单个事务中发生。
限制延期不适用于此问题。换句话说,即使SET CONSTRAINTS ALL DEFERRED也没有影响这个限制。具体来说,约束延迟不适用于打印错误的一致性检查:当尝试更改视图下面的列的类型时,不能更改视图或规则使用的列的类型。