Ažuriranje PostgreSQL 14.4 s popravkom oštećenja indeksa

Napravljeno je korektivno izdanje PostgreSQL DBMS 14.4, koje eliminira ozbiljan problem koji, pod određenim okolnostima, dovodi do nevidljivog oštećenja podataka u indeksima prilikom izvođenja naredbi “CREATE INDEX CONCURRENTLY” i “REINDEX CONCURRENTLY”. U indeksima kreiranim pomoću navedenih naredbi, neki zapisi možda neće biti uzeti u obzir, što će dovesti do manjkanja redaka prilikom izvršavanja SELECT upita koji uključuju problematične indekse.

Da biste utvrdili jesu li indeksi B-stabla oštećeni, možete koristiti naredbu “pg_amcheck –heapallindexed db_name”. Ako se identificiraju pogreške ili su naredbe “CREATE INDEX CONCURRENTLY” i “REINDEX CONCURRENTLY” korištene u prethodnim izdanjima s drugim vrstama indeksa (GiST, GIN, itd.), nakon ažuriranja na verziju 14.4, preporučuje se izvršiti ponovno indeksiranje pomoću “reindexdb —all” pomoćni program ili naredba "REINDEX CONCURRENTLY index_name."

Problem utječe samo na granu 14.x, koja uključuje optimizacije koje isključuju neke transakcije povezane s izvođenjem "CREATE INDEX CONCURRENTLY" i "REINDEX CONCURRENTLY" prilikom izvođenja operacije VACUUM. Kao rezultat ovih optimizacija, indeksi kreirani u CONCURRENTLY načinu nisu uključivali neke torke u memoriji gomile koje su ažurirane ili skraćene tijekom kreiranja indeksa.

Izvor: opennet.ru

Dodajte komentar