PostgreSQL 14.4-update met oplossing voor indexcorruptie

Er is een corrigerende release van PostgreSQL DBMS 14.4 gemaakt, die een ernstig probleem elimineert dat, onder bepaalde omstandigheden, leidt tot onzichtbare datacorruptie in indexen bij het uitvoeren van de opdrachten “CREATE INDEX CONCURRENTLY” en “REINDEX CONCURRENTLY”. In de indexen die zijn gemaakt met behulp van de opgegeven opdrachten, wordt mogelijk geen rekening gehouden met sommige records, wat zal leiden tot ontbrekende rijen bij het uitvoeren van SELECT-query's waarbij problematische indexen betrokken zijn.

Om te bepalen of B-tree-indexen beschadigd zijn, kunt u het commando “pg_amcheck –heapallindexed db_name” gebruiken. Als er fouten worden geïdentificeerd of de opdrachten “CREATE INDEX CONCURRENTLY” en “REINDEX CONCURRENTLY” zijn gebruikt in eerdere releases met andere soorten indexen (GiST, GIN, etc.), wordt het na het updaten naar versie 14.4 aanbevolen om opnieuw te indexeren met behulp van de “reindexdb —all” hulpprogramma of de opdracht "REINDEX CONCURRENTLY index_name."

Het probleem heeft alleen betrekking op de 14.x-tak, die optimalisaties omvatte die enkele transacties uitsluiten die verband houden met de uitvoering van "CREATE INDEX CONCURRENTLY" en "REINDEX CONCURRENTLY" bij het uitvoeren van de VACUUM-bewerking. Als gevolg van deze optimalisaties bevatten indexen die in de CONCURRENTLY-modus zijn gemaakt, geen enkele tupels in het heap-geheugen die tijdens het maken van de index zijn bijgewerkt of afgekapt.

Bron: opennet.ru

Voeg een reactie