Kemas kini PostgreSQL 14.4 dengan pembetulan rasuah indeks

Keluaran pembetulan PostgreSQL DBMS 14.4 telah dibuat, yang menghapuskan masalah serius yang, dalam keadaan tertentu, membawa kepada kerosakan data yang tidak kelihatan dalam indeks apabila melaksanakan perintah "CREATE INDEX CONCURRENTLY" dan "REINDEX CONCURRENTLY" arahan. Dalam indeks yang dibuat menggunakan arahan yang ditentukan, beberapa rekod mungkin tidak diambil kira, yang akan menyebabkan baris hilang apabila melaksanakan pertanyaan SELECT yang melibatkan indeks bermasalah.

Untuk menentukan sama ada indeks B-tree telah rosak, anda boleh menggunakan arahan “pg_amcheck –heapallindexed db_name”. Jika ralat dikenal pasti atau arahan “CREATE INDEX CONCURRENTLY” dan “REINDEX CONCURRENTLY” telah digunakan dalam keluaran sebelumnya dengan jenis indeks lain (GIST, GIN, dll.), selepas mengemas kini kepada versi 14.4, adalah disyorkan untuk melakukan pengindeksan semula menggunakan Utiliti “reindexdb —semua” atau arahan "REINDEX SERENTAK nama_indeks."

Masalahnya hanya menjejaskan cawangan 14.x, yang termasuk pengoptimuman yang mengecualikan beberapa urus niaga yang berkaitan dengan pelaksanaan "CIPTA INDEX SECARA SERENTAK" dan "REINDEX SECARA SAMPINGAN" apabila melakukan operasi VACUUM. Hasil daripada pengoptimuman ini, indeks yang dibuat dalam mod SERENTAK tidak menyertakan beberapa tuple dalam memori timbunan yang telah dikemas kini atau dipotong semasa penciptaan indeks.

Sumber: opennet.ru

Tambah komen