On loodud korrektsioonivĂ€ljaanne PostgreSQL 14.4, milles on lahendatud tĂ”sine probleem, mis teatud tingimustel vĂ”ib pĂ”hjustada mĂ€rkamatut andmekahjustust indeksites kĂ€skude âCREATE INDEX CONCURRENTLYâ ja âREINDEX CONCURRENTLYâ tĂ€itmisel. Nendes kĂ€skude abil loodud indeksites vĂ”ivad mĂ”ned kirjed olla arvesse vĂ”tmata, mis vĂ”ib pĂ”hjustada teatud ridade vahelejĂ€tmist probleemsete indeksitega SELECT-pĂ€ringute tĂ€itmisel.
B-tree indeksite kahjustuse tuvastamiseks vĂ”ib kasutada kĂ€sku âpg_amcheck âheapallindexed nimi_Andmebaasiâ. Kui tuvastatakse vigu vĂ”i on varem kasutatud kĂ€skusid âCREATE INDEX CONCURRENTLYâ ja âREINDEX CONCURRENTLYâ teiste tĂŒĂŒpi indeksitega (GiST, GIN jne) ning pĂ€rast versioonile 14.4 ĂŒleviimist, soovitatakse indeksite uuesti indekseerimist utiliidiga âreindexdb âallâ vĂ”i kĂ€suga âREINDEX CONCURRENTLY indeksinimiâ.
Probleem on seotud ainult 14.x haruga, kuhu on lisatud optimeerimisi, mis vĂ€listavad mĂ”nede tehingute tĂ€itmise VACUUM operatsiooni kĂ€igus, mis on seotud 'CREATE INDEX CONCURRENTLY' ja 'REINDEX CONCURRENTLY' tĂ€itmisega. Selle optimeerimise tĂ”ttu ei sattunud mĂ”ningad heap-mĂ€lu tupikud, mis olid uuendatud vĂ”i kĂ€rbitud indeksi loomise ajal, 'CONCURRENTLY' reĆŸiimis loodud indeksitesse.
Allikas: opennet.ru
