PostgreSQL 14.4 naujinimas su indekso sugadinimo pataisymu

Buvo sukurta korekcinė PostgreSQL DBMS 14.4 versija, kuri pašalina rimtą problemą, kuri tam tikromis aplinkybėmis sukelia nematomą duomenų sugadinimą indeksuose, kai vykdomos komandos „CREATE INDEX COCURRENTLY“ ir „REINDEX CONCURRENTLY“. Indeksuose, sukurtuose naudojant nurodytas komandas, gali būti neatsižvelgta į kai kuriuos įrašus, todėl vykdant SELECT užklausas, kuriose yra probleminių indeksų, trūks eilučių.

Norėdami nustatyti, ar B-medžio indeksai buvo pažeisti, galite naudoti komandą „pg_amcheck –heapallindexed db_name“. Jei nustatomos klaidos arba komandos „CREATE INDEX COCURRENTLY“ ir „REINDEX COCURRENTLY“ buvo naudojamos ankstesnėse laidose su kitų tipų indeksais (GiST, GIN ir kt.), atnaujinus į 14.4 versiją, rekomenduojama pakartotinį indeksavimą atlikti naudojant „reindexdb —all“ programa arba komanda „REINDEX CONCURRENTLY index_name“.

Problema paliečia tik 14.x šaką, kuri apima optimizavimą, kuris neįtraukia kai kurių operacijų, susijusių su „CREATE INDEX COCURRENTLY“ ir „REINDEX COCURRENTLY“ vykdymu, kai atliekama VACUUM operacija. Dėl šių optimizacijų į indeksus, sukurtus režimu TUO pat metu, į krūvos atmintį nebuvo įtrauktos kai kurios eilutės, kurios buvo atnaujintos arba sutrumpintos kuriant indeksą.

Šaltinis: opennet.ru

Добавить комментарий