Përditësimi i PostgreSQL 14.4 me rregullimin e korrupsionit të indeksit

Është krijuar një lëshim korrigjues i PostgreSQL DBMS 14.4, i cili eliminon një problem serioz që, në rrethana të caktuara, çon në prishje të padukshme të të dhënave në indekse gjatë ekzekutimit të komandave "KRIJO INDEKS NË NJËJOHSHËM" dhe "REINDEX NJËRKOHSHËM". Në indekset e krijuara duke përdorur komandat e specifikuara, disa regjistrime mund të mos merren parasysh, gjë që do të çojë në rreshta që mungojnë gjatë ekzekutimit të pyetjeve SELECT që përfshijnë indekse problematike.

Për të përcaktuar nëse indekset e pemës B janë dëmtuar, mund të përdorni komandën "pg_amcheck –heapallindexed db_name". Nëse identifikohen gabime ose komandat "KRIJO INDEKS NË NJËSHTJE" dhe "REINDEX NJËSHTIRË" janë përdorur në versionet e mëparshme me lloje të tjera indeksesh (GiST, GIN, etj.), pas përditësimit në versionin 14.4, rekomandohet të kryhet riindeksimi duke përdorur mjeti "reindexdb —all" ose komanda "REINDEX CONCURRENTLY index_name."

Problemi prek vetëm degën 14.x, e cila përfshinte optimizime që përjashtojnë disa transaksione të lidhura me ekzekutimin e "CREATE INDEX CONCURRENTLY" dhe "REINDEX CONCURRENTLY" gjatë kryerjes së operacionit VACUUM. Si rezultat i këtyre optimizimeve, indekset e krijuara në modalitetin CONCURRENTLY nuk përfshinin disa tuple në kujtesën e grumbullit që u përditësuan ose u shkurtuan gjatë krijimit të indeksit.

Burimi: opennet.ru

Shto një koment