PostgreSQL осалдығын түзету арқылы жаңарту. pg_ivm 1.0 шығарылымы

Барлық қолдау көрсетілетін PostgreSQL тармақтары үшін түзетуші жаңартулар жасалды: 14.3, 13.7, 12.11, 11.16 және 10.22. 10.x тармағы қолдау көрсетудің аяқталуына жақындап қалды (жаңартулар 2022 жылдың қарашасына дейін жасалады). 11.x тармағына арналған жаңартулардың шығарылымы 2023 жылдың қарашасына дейін, 12.x нұсқасы 2024 жылдың қарашасына дейін, 13.x нұсқасы 2025 жылдың қарашасына дейін, 14.x нұсқасы 2026 жылдың қарашасына дейін созылады.

Жаңа нұсқалар 50-ден астам түзетуді ұсынады және Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERİALIZE VIEW, CLUSTER және pg_amcheck артықшылықты операцияларының орындалуын оқшаулауды айналып өту мүмкіндігімен байланысты CVE-2022-1552 осалдығын жояды. Кез келген сақтау схемасында уақытша емес нысандарды жасау құқығы бар шабуылдаушы артықшылықты пайдаланушы шабуылдаушының нысанына әсер ететін жоғарыда аталған әрекеттерді орындаған кезде, ерікті SQL функцияларын түбірлік артықшылықтармен орындалуын тудыруы мүмкін. Атап айтқанда, осалдықты пайдалану автовакуумдық өңдеуші орындалған кезде дерекқорды автоматты түрде тазалау кезінде орын алуы мүмкін.

Жаңарту мүмкін болмаса, мәселені бұғаттаудың уақытша шешімі автовакуумды өшіріп, ҚАЙТАЛАУ, ИНДЕКС ЖАСАУ, МАТЕРИАЛДАНДЫРЫЛҒАН КӨРІНІСТІ ЖАҢАРТУ және КЛАСТЕР әрекеттерін түбірлік пайдаланушы ретінде орындамау және pg_amcheck бағдарламасын іске қоспау немесе pg_dump арқылы жасалған сақтық көшірмеден мазмұнды қалпына келтірмеу болып табылады. . Өңделетін нысандар сенімді пайдаланушыларға тиесілі болса, ВАКУУМды орындау кез келген командалық операция сияқты қауіпсіз болып саналады.

Жаңа шығарылымдардағы басқа өзгерістерге JIT кодын LLVM 14-пен жұмыс істеу үшін жаңарту, psql, pg_dump және pg_amcheck утилиталарында database.schema.table үлгілерін пайдалануға рұқсат беру, ltree бағандары бойынша GiST индекстерінің бүлінуіне әкелетін ақауларды түзету, қате кіреді. интервалдық деректерден алынған пішім дәуіріндегі мәндерді дөңгелектеу, асинхронды қашықтағы сұрауларды пайдалану кезінде дұрыс жоспарлаушы жұмысы, өрнекке негізделген кілттері бар индекстерде КЛАСТЕР өрнегін пайдалану кезінде кесте жолдарын дұрыс сұрыптау, бірден дұрыс емес тоқтату салдарынан деректердің жоғалуы GiST сұрыпталған индексін құру, бөлшектенген индексті жою кезінде тығырыққа тірелу, DROP TABLESPACE операциясы мен бақылау нүктесі арасындағы жарыс шарты.

Сонымен қатар, PostgreSQL 1.0 үшін IVM (Incremental View Maintenance) қолдауын енгізу арқылы pg_ivm 14 кеңейтімінің шығарылымын атап өтуге болады. IVM материалдандырылған көріністерді жаңартудың баламалы әдісін ұсынады, егер өзгертулер көріністің кішкене бөлігіне әсер етсе, тиімдірек. IVM материалдандырылған көріністерді ЖАҢҒАРТУ МАТЕРИАЛДАНДЫРЫЛҒАН КӨРІНІСІН ЖАҢАРТУ операциясы арқылы көріністі қайта есептемей, тек қосымша өзгерістермен бірден жаңартуға мүмкіндік береді.

Ақпарат көзі: opennet.ru

пікір қалдыру