我在我们的数据库中有一个非常中心的表,它被一系列应用程序使用,它附加了规则、触发器和所有你可以想象的依赖项。现在我想修改表而不会对依赖项造成任何问题。我以前成功地完成了以下操作,但在一个不太复杂的情况下:
alter table reconciliations rename to matches;
create view reconciliations as select * from matches;
这样做的目的是我现在可以修改新的“匹配”表,例如添加一列或多行,这些不需要在“对账”视图中显示(通过添加 where 子句将它们过滤掉)。
我在 Postgres 9.5 上,所以视图是自动更新的。初步测试表明这没有直接的问题,所以我问这个问题是为了知道我应该寻找什么样的问题。性能不是大问题。