Aktualizacja PostgreSQL. Wydanie reshape, narzędzia do migracji na nowy schemat bez przerywania pracy

Zostały opracowane aktualizacje korygujące dla wszystkich obsługiwanych gałęzi PostgreSQL: 14.2, 13.6, 12.10, 11.15 i 10.20, w których naprawiono 55 błędów zidentyfikowanych w ciągu ostatnich trzech miesięcy. W tym rozwiązano problemy, które w rzadkich okolicznościach mogły prowadzić do uszkodzenia indeksów podczas zmiany łańcuchów HOT (wyłącznie krotki na stercie) w trakcie operacji VACUUM lub podczas wykonywania operacji REINDEX CONCURRENTLY dla indeksów do tabel korzystających z mechanizmu przechowywania TOAST.

Usunięto awarie podczas wykonywania ALTER STATISTICS oraz przy pobieraniu danych z typami multirange. W planowaniu zapytań naprawiono błędy prowadzące do zwracania nieprawidłowych wyników. Usunięto wycieki pamięci podczas aktualizacji indeksów na podstawie wyrażeń oraz przy wykonywaniu operacji „REASSIGN OWNED BY” na dużej liczbie obiektów. Zapewniono budowę rozszerzonej statystyki dla tabel segmentowanych.

Dodatkowo warto wspomnieć o wydaniu narzędzia reshape, które pozwala na przeprowadzanie skomplikowanych aktualizacji schematu danych w PostgreSQL bez zatrzymywania pracy, co w normalnych warunkach wymagałoby ręcznej modyfikacji i czasowego zatrzymania działających usług korzystających z bazy danych. Narzędzie umożliwia przejście ze starego schematu danych na nowy bez długotrwałych blokad, nie przerywając cyklu przetwarzania zapytań. Narzędzie automatycznie tworzy widoki tabel, z którymi aplikacje mogą wciąż pracować podczas migracji schematu danych, a także konfiguruje wyzwalacze, które tłumaczą operacje dodawania i usuwania danych między starym a nowym schematem.

W ten sposób, korzystając z reshape podczas migracji, stary i nowy schemat pozostają jednocześnie dostępne, a aplikacje można stopniowo przekształcać na nowy schemat bez zatrzymywania pracy (w dużych infrastrukturach można etapami zastępować obsługiwacze z poprzednich na nowe). Po zakończeniu migracji aplikacji na nowy schemat, widoki i wyzwalacze utworzone w celu wsparcia starego schematu są usuwane. W przypadku wystąpienia problemów z aplikacjami podczas migracji można cofnąć zmianę schematu i powrócić do starego stanu.

Ź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