อัปเดต PostgreSQL 14.4 พร้อมแก้ไขความเสียหายของดัชนี

มีการสร้าง PostgreSQL DBMS 14.4 รุ่นแก้ไขแล้ว ซึ่งช่วยขจัดปัญหาร้ายแรงที่ในบางกรณีอาจนำไปสู่ความเสียหายของข้อมูลที่มองไม่เห็นในดัชนีเมื่อดำเนินการคำสั่ง “CREATE INDEX CONCURRENTLY” และ “REINDEX CONCURRENTLY” ในดัชนีที่สร้างขึ้นโดยใช้คำสั่งที่ระบุ บางระเบียนอาจไม่ถูกนำมาพิจารณา ซึ่งจะนำไปสู่แถวที่หายไปเมื่อดำเนินการคำสั่ง SELECT ที่เกี่ยวข้องกับดัชนีที่มีปัญหา

เพื่อตรวจสอบว่าดัชนี B-tree ได้รับความเสียหายหรือไม่ คุณสามารถใช้คำสั่ง “pg_amcheck —heapallindexed db_name” หากมีการระบุข้อผิดพลาดหรือมีการใช้คำสั่ง “CREATE INDEX CONCURRENTLY” และ “REINDEX CONCURRENTLY” ในรีลีสก่อนหน้านี้กับดัชนีประเภทอื่นๆ (GiST, GIN ฯลฯ) หลังจากอัปเดตเป็นเวอร์ชัน 14.4 ขอแนะนำให้ทำการจัดทำดัชนีใหม่โดยใช้เครื่องหมาย “ ยูทิลิตี้ reindexdb —all” หรือคำสั่ง "REINDEX CONCURRENTLY index_name"

ปัญหาส่งผลกระทบต่อเฉพาะสาขา 14.x ซึ่งรวมถึงการปรับให้เหมาะสมที่ไม่รวมธุรกรรมบางอย่างที่เกี่ยวข้องกับการดำเนินการ "สร้างดัชนีพร้อมกัน" และ "REINDEX พร้อมกัน" เมื่อดำเนินการการดำเนินการ VACUUM จากผลลัพธ์ของการปรับให้เหมาะสมเหล่านี้ ดัชนีที่สร้างขึ้นในโหมดพร้อมกันไม่ได้รวมสิ่งอันดับบางส่วนในหน่วยความจำฮีปที่ได้รับการอัปเดตหรือตัดทอนระหว่างการสร้างดัชนี

ที่มา: opennet.ru

เพิ่มความคิดเห็น