Aktualizácia PostgreSQL 14.4 s opravou poškodenia indexu

Bola vytvorená opravná verzia PostgreSQL DBMS 14.4, ktorá odstraňuje vážny problém, ktorý za určitých okolností vedie k neviditeľnému poškodeniu údajov v indexoch pri vykonávaní príkazov „CREATE INDEX CONCURRENTLY“ a „REINDEX CONCURRENTLY“. V indexoch vytvorených pomocou zadaných príkazov sa nemusia brať do úvahy niektoré záznamy, čo povedie k chýbajúcim riadkom pri vykonávaní SELECT dotazov zahŕňajúcich problematické indexy.

Ak chcete zistiť, či indexy B-stromu boli poškodené, môžete použiť príkaz „pg_amcheck —heapallindexed db_name“. Ak sa zistia chyby alebo sa príkazy „CREATE INDEX CONCURRENTLY“ a „REINDEX CONCURRENTLY“ použili v predchádzajúcich vydaniach s inými typmi indexov (GiST, GIN atď.) po aktualizácii na verziu 14.4, odporúča sa vykonať reindexáciu pomocou „ pomôcka reindexdb —all“ alebo príkaz „REINDEX CONCURRENTLY index_name“.

Problém sa týka iba vetvy 14.x, ktorá zahŕňala optimalizácie, ktoré vylučujú niektoré transakcie spojené s vykonávaním „CREATE INDEX CONCURRENTLY“ a „REINDEX CONCURRENTLY“ pri vykonávaní operácie VACUUM. V dôsledku týchto optimalizácií indexy vytvorené v režime CONCURRENTLY neobsahovali niektoré n-tice v pamäti haldy, ktoré boli aktualizované alebo skrátené počas vytvárania indexu.

Zdroj: opennet.ru

Pridať komentár