Оновлення PostgreSQL. Випуск reshape, утиліти для міграції на нову схему без зупинки роботи

Сформовано коригувальні оновлення для всіх підтримуваних гілок PostgreSQL: 14.2, 13.6, 12.10, 11.15 та 10.20, у яких виправлено 55 помилок, виявлених за останні три місяці. У тому числі усунуті проблеми, що при рідкому збігу обставин до пошкодження індексів при зміні ланцюжків HOT (heap-only tuple) під час виконання операції VACUUM або при виконанні операції REINDEX CONCURRENTLY для індексів до таблиць, в яких використовується механізм зберігання TOAST.

Усунуті аварійні завершення при виконанні ALTER STATISTICS та вилучення даних з multirange-типами. У планувальнику запитів усунуто помилки, що призводили до виведення некоректних результатів. Усунення витоку пам'яті при оновленні індексів за виразами та при виконанні операції REASSIGN OWNED BY над великим числом об'єктів. Забезпечено побудову розширеної статистики для сегментованих таблиць.

Додатково можна відзначити випуск утиліти reshape, що дозволяє без зупинки роботи здійснювати складні оновлення схеми даних у PostgreSQL, що у звичайних умовах потребують ручного внесення змін та тимчасової зупинки роботи сервісів, що використовують БД. Утиліта дає можливість перейти зі старої схеми даних на нову без тривалих блокувань і не перериваючи цикл обробки запитів. Утиліта автоматично створює уявлення таблиць, з якими програми продовжують працювати під час міграції схеми даних, а також налаштовує тригери, що транслюють операції додавання та видалення даних між старою та новою схемами.

Таким чином, при використанні reshape під час міграції стара і нова схема одночасно залишаються доступними і програми можна поступово перевести на нову схему без зупинки роботи (у великих інфраструктурах можна поетапно замінювати обробники зі старих на нові). Після завершення перекладу додатків на нову схему створені для збереження підтримки старої схеми уявлення та видаляються тригери. У разі виявлення проблем із програмами під час міграції можна скасувати зміну схеми та повернутися до старого стану.

Джерело: opennet.ru

Додати коментар або відгук