【发布时间】:2017-05-10 07:13:05
【问题描述】:
我不想将列的大小从字符(9)更改为字符(12)
ALTER TABLE product_based_award ALTER COLUMN name TYPE character(12);
但在内部,此列由 MView 使用,因此它不允许更改表并给出以下错误。
错误:无法更改视图或规则使用的列的类型
我为此找到了两种解决方案,一种是删除 mview 并重新创建它,另一种是更新 pg_attribute。 但是我不能使用这两个选项,因为我们的数据库非常复杂,所以更新 pg_attribute 会导致问题并且也不能删除 mview。
那么有没有其他最好的方法来解决这个问题。
【问题讨论】:
-
片段仅适用于 html/css/javascript 问题。不要将 sn-ps 用于其他语言。
-
如果您无法删除该视图或更新 pg_attribute(无论如何不推荐),您将无法更改类型。您将必须删除此视图以及依赖它的视图。
标签: sql postgresql