Pembaruan PostgreSQL 14.4 dengan perbaikan kerusakan indeks

Rilis korektif DBMS PostgreSQL 14.4 telah dibuat, yang menghilangkan masalah serius yang, dalam keadaan tertentu, menyebabkan kerusakan data yang tidak terlihat dalam indeks ketika perintah “CREATE INDEX CONCURRENTLY” dan “REINDEX CONCURRENTLY” dijalankan. Dalam indeks yang dibuat menggunakan perintah yang ditentukan, beberapa catatan mungkin tidak diperhitungkan, yang akan menyebabkan hilangnya baris saat menjalankan kueri SELECT yang melibatkan indeks bermasalah.

Untuk mengetahui apakah indeks B-tree telah rusak, Anda dapat menggunakan perintah “pg_amcheck –heapallindexed db_name”. Jika kesalahan teridentifikasi atau perintah “CREATE INDEX CONCURRENTLY” dan “REINDEX CONCURRENTLY” digunakan pada rilis sebelumnya dengan jenis indeks lain (GiST, GIN, dll.), setelah memperbarui ke versi 14.4, disarankan untuk melakukan pengindeksan ulang menggunakan utilitas “reindexdb —all” atau perintah "REINDEX SECARA BERSAMAAN nama_indeks."

Masalahnya hanya mempengaruhi cabang 14.x, yang mencakup optimasi yang mengecualikan beberapa transaksi yang terkait dengan eksekusi “CREATE INDEX CONCURRENTLY” dan “REINDEX CONCURRENTLY” ketika melakukan operasi VACUUM. Sebagai hasil dari pengoptimalan ini, indeks yang dibuat dalam mode SECARA BERSAMAAN tidak menyertakan beberapa tupel di memori heap yang diperbarui atau dipotong selama pembuatan indeks.

Sumber: opennet.ru

Tambah komentar