更改参与视图或规则的列



我正在使用一种称为Giswater的工具来对我们的下水道和风暴网络进行建模。这些工具从GUI中的一些简单输入中构建数据库,其中一个是SRID。几何列都是XY,我想让它们全部意识到。当我运行Alter Table命令以更新几何时,我会遇到一个错误"无法更改参与视图或规则的列"无论如何要强制这种变化并忽略错误?我尝试将视图更改为不引用列,然后尝试添加一个新的几何列以在进行更改时将视图切换为暂时。显然,我无法将列放在视图中,也不能将其更改为另一列。我还尝试将架构编写到SQL,然后编辑了linestring的SQL线,并指向Linestringzm和PointZM,并使用PSQL运行文件以更新模式;我所获得的只是使用" PSQL -U Postgres -d Utility -1 -F i Z:..............................................................................................................................................................................还尝试了pg_restore。无论如何,只需使用PG_ADMIN4强制更改吗?或其他建议?

我不熟悉您使用的工具,但我建议使用以下命令检查所有对象(视图和规则)引用表。

选择不同的so.name来自Syscomments SC内在加入sysobjects so sc.id = so.idsc.text之类的sc.text之类的

然后备份这些对象并在尝试更改表之前将它们完全删除。

相关内容

  • 没有找到相关文章

最新更新