gpt4 book ai didi

postgresql - 如何安全地重新索引 postgres 上的主键?

转载 作者:行者123 更新时间:2023-11-29 11:37:18 25 4
gpt4 key购买 nike

我们有一个巨大的表,其中包含膨胀的主键索引。我们不断地存档该表上的旧记录。

我们通过同时重新创建索引并删除旧索引来重新索引其他列。这是为了避免干扰生产流量。但这对于主键是不可能的,因为有外键依赖于它。至少基于我们的尝试。

在不阻塞表上的 DML 语句的情况下安全地重新索引主键的正确方法是什么?

最佳答案

REINDEX CONCURRENTLY 似乎也有效。我在我的数据库上试过了,没有收到任何错误。

REINDEX INDEX CONCURRENTLY <indexname>;

我认为它可能会做一些类似于@jlandercy 在他的回答中所描述的事情。在重新索引运行时,我看到一个后缀为 _ccnew 的索引,并且现有的索引也完好无损。最终我猜测该索引在删除旧索引后被重命名为原始索引,我最终在我的表上看到了一个唯一的主索引。

我正在使用 postgres v12.7

关于postgresql - 如何安全地重新索引 postgres 上的主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54387084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com