PostgreSQL 14.4-Update mit Korrektur der Indexbeschädigung

Es wurde eine Korrekturversion des PostgreSQL DBMS 14.4 erstellt, die ein schwerwiegendes Problem beseitigt, das unter bestimmten Umständen zu unsichtbaren Datenbeschädigungen in Indizes führt, wenn die Befehle „CREATE INDEX CONCURRENTLY“ und „REINDEX CONCURRENTLY“ ausgeführt werden. In den mit den angegebenen Befehlen erstellten Indizes werden möglicherweise einige Datensätze nicht berücksichtigt, was dazu führt, dass bei der Ausführung von SELECT-Abfragen mit problematischen Indizes Zeilen fehlen.

Um festzustellen, ob B-Tree-Indizes beschädigt wurden, können Sie den Befehl „pg_amcheck –heapallindexed db_name“ verwenden. Wenn Fehler festgestellt werden oder die Befehle „CREATE INDEX CONCURRENTLY“ und „REINDEX CONCURRENTLY“ in früheren Versionen mit anderen Indextypen (GiST, GIN usw.) verwendet wurden, wird empfohlen, nach dem Update auf Version 14.4 eine Neuindizierung mit dem durchzuführen „reindexdb –all“-Dienstprogramm oder der Befehl „REINDEX CONCURRENTLY index_name.“

Das Problem betrifft nur den 14.x-Zweig, der Optimierungen beinhaltete, die einige Transaktionen im Zusammenhang mit der Ausführung von „CREATE INDEX CONCURRENTLY“ und „REINDEX CONCURRENTLY“ bei der Ausführung der VACUUM-Operation ausschließen. Als Ergebnis dieser Optimierungen enthielten im CONCURRENTLY-Modus erstellte Indizes einige Tupel im Heapspeicher nicht, die während der Indexerstellung aktualisiert oder abgeschnitten wurden.

Source: opennet.ru

Kommentar hinzufügen