Абнаўленне 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

Дадаць каментар