Ein Korrektur-Release fĂŒr die PostgreSQL-Datenbankversion 14.4 wurde erstellt, in dem ein schwerwiegendes Problem behoben wurde, das unter bestimmten UmstĂ€nden zu unbemerkt beschĂ€digten Daten in Indizes fĂŒhrte, wenn die Befehle âCREATE INDEX CONCURRENTLYâ und âREINDEX CONCURRENTLYâ ausgefĂŒhrt wurden. In den mit diesen Befehlen erstellten Indizes könnten einige EintrĂ€ge nicht berĂŒcksichtigt werden, was dazu fĂŒhren wĂŒrde, dass bei der AusfĂŒhrung von SELECT-Anfragen mit den problematischen Indizes bestimmte Zeilen ĂŒbersprungen werden.
Um festzustellen, ob B-Baum-Indizes beschĂ€digt sind, kann der Befehl âpg_amcheck âheapallindexed Datenbanknameâ verwendet werden. Im Falle des Auffindens von Fehlern oder bei der Verwendung der Befehle âCREATE INDEX CONCURRENTLYâ und âREINDEX CONCURRENTLYâ in frĂŒheren Releases mit anderen Indextypen (GiST, GIN usw.) wird empfohlen, nach dem Upgrade auf Version 14.4 eine Reindizierung mit dem Tool âreindexdb âallâ oder dem Befehl âREINDEX CONCURRENTLY Indexnameâ durchzufĂŒhren.
Nur der 14.x Branch ist betroffen, in den Optimierungen aufgenommen wurden, die unter bestimmten UmstĂ€nden einige Transaktionen im Zusammenhang mit den Operationen âCREATE INDEX CONCURRENTLYâ und âREINDEX CONCURRENTLYâ beim AusfĂŒhren von VACUUM ausschlieĂen. Infolgedessen wurden einige in âCONCURRENTLYâ erstellte Indizes nicht durch einige Tupel im Heap-Speicher ergĂ€nzt, die wĂ€hrend der Indexerstellung aktualisiert oder verkleinert wurden.
Quelle: opennet.ru
