POSTGRESQL 请立即停止使用PG14.1 14.2 14.3 版本有重大BUG

1451fc3924093572e3857e8239146c2e.png

PostgreSQL: PostgreSQL 14 out-of-cycle release coming June 16, 2022

https://www.postgresql.org/about/news/postgresql-14-out-of-cycle-release-coming-june-16-2022-2466/#:~:text=The%20PostgreSQL%20Global%20Development%20Group,to%20silent%20corruption%20of%20indexes.

a0136d83e8d31bee22c008aaac84d089.png

原文中给出了原因和解决的方案,但是解决方案是在是不怎么样,所以强烈建议大家不要在新上的数据库上使用  PG 14.1 - 14.3版本 ,14.4 会修补这个问题。

f10eed31dc8cc2f67b504859aca629f2.png

这里主要的问题部分是在建立索引时如果你使用  currently 的方式建立索引则会导致索引建立错误,这不光发生在reindex ,同时发生在create index 等操作中.

5cf6dee6cf8459703c0365abf56a54c0.png

这个BUG 的发现起源于  2022-05-18日 10:42分的一个bug  报告,提出在重建主键的时候发生问题

ebf2636cc022ca23d07744dd6270dcfe.png

这个BUG 中描述通过pgbench来对数据库进行压测后,建立索引时报错,他们针对这个问题进行了检测,对整体的索引扫描,发现在索引中丢失了数据。

随即POSTGRESQL 开发组对这个问题进行调查,调查的结果是在PG14的版本中可以复现问题,在其他的版本中没有复现问题。他们将在下一个版本PG14.4 修复这个问题。问题的检测是通过 amcheck 来进行的。通过这个 amcheck 函数 bt_index_check 来判断索引是否工作正常。

bf6c5a4dd23f27a06f1a0059336bb8fc.png

fd192cafa8c6396366b43e2ff191a3c9.png

如果你目前已经使用了PG 14 版本请不要在建立索引或者REINDEX 时使用 concurrently 命令来建立索引,你可以通过 reindexdb的命令并且通过 --job 的方式来添加并行性来暂时解决问题。

最后请等待PG14.4的released ,在去使用PG14版本的数据库。

61616f58cfc4a3b8d09da7ab9ceae81e.png

d2e074b2e354005f7ce3c67e8c772bda.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值