S-au format actualizări corective pentru toate ramurile suportate ale PostgreSQL: 14.2, 13.6, 12.10, 11.15 și 10.20, în care au fost corectate 55 de erori identificate în ultimele trei luni. Printre acestea, au fost rezolvate problemele care, în circumstanțe rare, duceau la deteriorarea indexurilor în timpul modificării lanțurilor HOT (heap-only tuple) în timpul execuției operației VACUUM sau în timpul execuției operației REINDEX CONCURRENTLY pentru indexurile tabelelor, în care este utilizat mecanismul de stocare TOAST.
Au fost eliminate închiderile necontrolate la executarea ALTER STATISTICS și la extragerea datelor cu tipuri multirange. În planificatorul de interogări au fost remediate erorile care duceau la returnarea de rezultate incorecte. Au fost eliminate scurgerile de memorie la actualizarea indexurilor prin expresii și la executarea operației „REASSIGN OWNED BY” asupra unui număr mare de obiecte. S-a asigurat construirea statisticilor extinse pentru tabelele segmentate.
În plus, se remarcă lansarea utilitarului reshape, care permite efectuarea actualizărilor complexe ale schemei de date în PostgreSQL fără întreruperea funcționării, ceea ce în condiții normale necesită modificări manuale și oprirea temporară a serviciilor care folosesc baza de date. Utilitarul permite tranziția de la vechea schemă de date la nouă fără blocări prelungite și fără a întrerupe ciclul de procesare a interogărilor. Utilitarul creează automat vederi ale tabelelor cu care aplicațiile continuă să lucreze în timpul migrației schemei de date, precum și configurează declanșatoare care traduc operațiile de adăugare și ștergere a datelor între vechea și noua schemă.
Astfel, utilizând reshape în timpul migrației, vechea și noua schemă rămân disponibile simultan, permițând aplicațiilor să fie treptat migrate la noua schemă fără oprirea funcționării (în infrastructuri mari, procesatorii pot fi înlocuiți treptat de la vechi la noi). După finalizarea tranziției aplicațiilor la noua schemă, vederile și declanșatoarele create pentru a păstra suportul pentru vechea schemă sunt eliminate. În cazul identificării problemelor cu aplicațiile în timpul migrației, se poate anula modificarea schemei și reveni la starea anterioară.
Sursa: opennet.ro
