تحديث 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 فقط، والذي يتضمن تحسينات تستبعد بعض المعاملات المرتبطة بتنفيذ "CREATE INDEX CONCURRENTLY" و"REINDEX CONCURRENTLY" عند تنفيذ عملية VACUUM. نتيجة لهذه التحسينات، لم تتضمن الفهارس التي تم إنشاؤها في الوضع المتزامن بعض المجموعات في ذاكرة الكومة التي تم تحديثها أو اقتطاعها أثناء إنشاء الفهرس.

المصدر: opennet.ru

إضافة تعليق