我正在清理数据库,以便可以运行应用程序升级脚本。状态是升级脚本期望索引仅存在以便它可以删除该索引。该指标前段时间在生产中被手工下调。出于我无法控制的非技术原因,人为更改升级脚本或告诉升级过程它已经运行该步骤不是一个选项。
与其花时间重新创建索引,不如创建一个具有相同名称的“虚拟”或空索引,以便升级脚本可以运行?
这适用于 postgresql 9.0 或更高版本。
我正在清理数据库,以便可以运行应用程序升级脚本。状态是升级脚本期望索引仅存在以便它可以删除该索引。该指标前段时间在生产中被手工下调。出于我无法控制的非技术原因,人为更改升级脚本或告诉升级过程它已经运行该步骤不是一个选项。
与其花时间重新创建索引,不如创建一个具有相同名称的“虚拟”或空索引,以便升级脚本可以运行?
这适用于 postgresql 9.0 或更高版本。
只需从更新脚本中删除该行即可。或者更好的是,使用该
IF EXISTS
子句,以便它抛出通知而不是错误。但是,是的,如果您按索引名称而不是按位置
DROP INDEX
删除,则甚至不知道索引是否在指定的表上。table(column)
这是一个例子,