首页 > 解决方案 > 如何插入新列并保持所有现有查询不变

问题描述

我们有一个非常古老且庞大的数据库,其中包含几乎在任何地方都使用的表X。假设这张表用于功能A

我们正在向必须以新方式使用表X的系统添加一个新功能。让我们将其命名为功能B

因此,基本上新功能(B)的新行必须与现有行(A)不同。

主要思想是向表XFALSE添加新的布尔列,默认情况下该列将TRUE用于新功能。但是在所有系统中更改SELECT和查询以添加条件以支持旧功能A的前景让我们感到难过。UPDATEWHERE new_bool_column = FALSE

PostgreSQL 有什么办法可以通过在某处设置一些特殊参数来避免这种大量工作并让系统为我们完成这项工作?对于如何更容易或完全不同的方法,您还有其他想法吗?

(我们虽然要添加一个同名的视图(并重命名表X),但它只对SELECT查询有帮助)

感谢提前。

标签: sqlpostgresql

解决方案


推荐阅读