PostgreSQL 14.4-oppdatering med indekskorrupsjonsretting

En korrigerende utgivelse av PostgreSQL DBMS 14.4 har blitt opprettet, som eliminerer et alvorlig problem som under visse omstendigheter fører til usynlig datakorrupsjon i indekser når du utfører kommandoene "CREATE INDEX CONCURRENTLY" og "REINDEX CONCURRENTLY". I indeksene som er opprettet ved hjelp av de angitte kommandoene, kan det hende at enkelte poster ikke tas med i betraktningen, noe som vil føre til manglende rader når du utfører SELECT-spørringer som involverer problematiske indekser.

For å finne ut om B-tree-indekser har blitt skadet, kan du bruke kommandoen “pg_amcheck –heapallindexed db_name”. Hvis feil blir identifisert eller kommandoene "CREATE INDEX CONCURRENTLY" og "REINDEX CONCURRENTLY" ble brukt i tidligere utgivelser med andre typer indekser (GiST, GIN, etc.), etter oppdatering til versjon 14.4, anbefales det å utføre reindeksering ved å bruke "reindexdb —all"-verktøyet eller kommandoen "REINDEX CONCURRENTLY index_name."

Problemet påvirker bare 14.x-grenen, som inkluderte optimaliseringer som ekskluderer enkelte transaksjoner knyttet til utførelse av "CREATE INDEX CONCURRENTLY" og "REINDEX CONCURRENTLY" når du utfører VACUUM-operasjonen. Som et resultat av disse optimaliseringene, inkluderte ikke indekser opprettet i SAMTIDIGT-modus noen tupler i heap-minnet som ble oppdatert eller avkortet under indeksoppretting.

Kilde: opennet.ru

Legg til en kommentar