Ажурирање на PostgreSQL 14.4 со поправка на корупција на индекс

Создадено е корективно издание на PostgreSQL DBMS 14.4, со што се елиминира сериозен проблем што, под одредени околности, доведува до невидливо оштетување на податоците во индексите при извршување на командите „СОЗДАЈ ИНДЕКС ИМОТРЕМЕНО“ и „REINDEX CONCURRENTLY“. Во индексите создадени со наведените команди, некои записи може да не се земат предвид, што ќе доведе до недостигања на редови при извршување на SELECT прашања кои вклучуваат проблематични индекси.

За да одредите дали индексите на Б-дрвото се оштетени, можете да ја користите командата „pg_amcheck –heapallindexed db_name“. Доколку се утврдат грешки или наредбите „СОЗДАЈ ИНДЕКС ИМОТРЕМНО“ и „REINDEX КОЈУРНО“ биле користени во претходните изданија со други типови на индекси (GiST, GIN, итн.), по ажурирањето на верзијата 14.4, се препорачува да се изврши реиндексирање со користење на алатката „reindexdb —all“ или командата „REINDEX CONCURRENTLY index_name“.

Проблемот влијае само на гранката 14.x, која вклучуваше оптимизации што исклучуваат некои трансакции поврзани со извршувањето на „СОЗДАВАЈ ИНДЕКС ИМОГЛЕДНО“ и „РЕИНДЕКС ИМОТРЕМНО“ при извршување на операцијата ВАКУУМ. Како резултат на овие оптимизации, индексите создадени во режимот CONCURRENTLY не вклучуваа некои торки во меморијата на купот што беа ажурирани или скратени за време на креирањето на индексот.

Извор: opennet.ru

Додадете коментар