Aktualizacja PostgreSQL 14.4 z poprawką uszkodzenia indeksów

Została wydana skorygowana wersja systemu zarządzania bazą danych PostgreSQL 14.4, w której naprawiono poważny problem prowadzący, w określonych okolicznościach, do niezauważalnego uszkodzenia danych w indeksach podczas wykonywania poleceń „CREATE INDEX CONCURRENTLY” i „REINDEX CONCURRENTLY”. W indeksach utworzonych za pomocą tych poleceń mogą nie być uwzględnione niektóre rekordy, co może prowadzić do pominięcia poszczególnych wierszy podczas wykonywania zapytań SELECT wykorzystujących problematyczne indeksy.

Aby ustalić, czy indeksy B-tree zostały uszkodzone, można użyć polecenia „pg_amcheck —heapallindexed nazwa_BD”. W przypadku wykrycia błędów lub zastosowania w przeszłych wersjach poleceń „CREATE INDEX CONCURRENTLY” i „REINDEX CONCURRENTLY” z innymi typami indeksów (GiST, GIN itp.) po aktualizacji do wersji 14.4 zaleca się wykonanie ponownej indeksacji za pomocą narzędzia „reindexdb —all” lub polecenia „REINDEX CONCURRENTLY nazwa_indeksu”.

Problem dotyczy tylko gałęzi 14.x, która zawiera optymalizacje wykluczające niektóre transakcje związane z wykonywaniem „CREATE INDEX CONCURRENTLY” i „REINDEX CONCURRENTLY” podczas wykonywania operacji VACUUM. W wyniku zastosowania tych optymalizacji niektóre krotki znajdujące się w pamięci heap nie były uwzględniane w indeksach tworzonych w trybie „CONCURRENTLY”, które zostały zaktualizowane lub obcięte w trakcie tworzenia indeksu.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster