Рэліз СКБД PostgreSQL 13

Пасля года распрацоўкі апублікаваная новая стабільная галіна СКБД PostgreSQL 13. Абнаўленні для новай галінкі будуць выходзіць цягам пяці гадоў да лістапада 2025 года.

Асноўныя навіны:

  • Рэалізавана дэдуплікацыя запісаў у азначніках B-tree, якая дазволіла падняць прадукцыйнасць запытаў і скараціць спажыванне дыскавай прасторы пры індэксацыі запісаў з паўтаральнымі дадзенымі. Дэдуплікацыя праводзіцца праз перыядычны запуск апрацоўшчыка, які выконвае зліццё груп паўтаральных картэжаў і замену дубліктаў на спасылкі на адну захоўваемую копію.
  • Падвышаная прадукцыйнасць запытаў, у якіх выкарыстоўваюцца агрэгатныя функцыі, згрупаваныя наборы (GROUPING SETS) або секцыянаванае (партыцыраваныя) табліцы. Аптымізацыі злучаны з выкарыстаннем пры агрэгаванні хэшаў замест фактычных дадзеных, што дазваляе пазбегнуць размяшчэнні ўсіх дадзеных у памяці пры апрацоўцы вялікіх запытаў. Пры секцыянаванні пашырана колькасць сітуацый, пры якіх секцыі могуць быць адкінуты або аб'яднаны.
  • Дададзена магчымасць выкарыстання пашыранай статыстыкі, якая ствараецца пры выкарыстанні каманды "CREATE STATISTICS", для паляпшэння эфектыўнасці планавання запытаў, якія змяшчаюць умовы "OR" або пошук у спісах з выкарыстаннем выразаў "IN" або "ANY".
  • Паскорана чыстка індэксаў пры выкананні аперацыі Вакуумныя за кошт распаралельвання зборкі смецця ў індэксах. Пры дапамозе новага параметру "PARALLEL" адміністратар можа вызначыць колькасць патокаў, якія будуць адначасова запускацца для VACUUM. Дададзена магчымасць ініцыявання аўтаматычнага выканання VACUUM пасля ўстаўкі дадзеных.
  • Дададзена падтрымка інкрыментальнай сартавання, якая дазваляе выкарыстоўваць дадзеныя, адсартаваныя на папярэднім этапе, для паскарэння сартавання на наступных этапах апрацоўкі запыту. Для ўключэння новай аптымізацыі ў планавальніку запытаў прадугледжана настройкауключыць_інкрэментнае_сартаванне«, якая ўключана па змаўчанні.
  • Дададзена магчымасць абмежавання памеру слотаў рэплікацыі, якія дазваляюць у аўтаматычным рэжыме гарантаваць захаванне сегментаў лога адкладзенага запісу (WAL) да таго часу, пакуль яны не будуць атрыманы ўсімі запаснымі серверамі, якія прымаюць рэплікі. Слоты рэплікацыі таксама не дазваляюць асноўнаму серверу выдаліць радкі, якія могуць прывесці да канфліктаў, нават калі запасны сервер адключаны. Пры дапамозе параметра max_slot_wal_keep_size зараз можна абмежаваць максімальны памер WAL-файлаў для прадухілення вычарпання месца на дыску.
  • Пашыраны магчымасці маніторынгу актыўнасці СКБД: у камандзе EXPLAIN забяспечаны паказ дадатковай статыстыкі па выкарыстанні WAL-лога; у pg_basebackup дадзена магчымасць адсачыць стан выканання бесперапынных бэкапаў; у камандзе ANALYZE рэалізавана індыкацыя прагрэсу выканання аперацыі.
  • Дададзена новая каманда pg_verifybackup для праверкі цэласнасці рэзервовых копій, якiя ствараюцца камандай pg_basebackup.
  • Пры працы з JSON з выкарыстаннем аператараў jsonpath дазволенае ўжыванне функцыі datetime() для пераўтварэння фарматаў часу (радкоў ISO 8601 і родных тыпаў часу PostgreSQL). Напрыклад, можна выкарыстоўваць канструкцыі «jsonb_path_query('[«2015-8-1», «2015-08-12»]', '$[*] ? (@.datetime() < "2015-08-2".datetime ())')" і "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
  • Дададзена ўбудаваная функцыя gen_random_uuid () для генерацыі ідэнтыфікатараў UUID v4.
  • У сістэме секцыянавання рэалізавана поўная падтрымка лагічнай рэплікацыі і задаюць выразам "BEFORE"
    трыгераў, якія працуюць на ўзроўні радкоў.

  • Сінтаксіс «FETCH FIRST» зараз дапушчае выкарыстанне выраза «WITH TIES», які дазваляе вярнуць дадатковыя радкі, якія знаходзяцца ў хвасце выніковага набору, атрымоўванага пасля ўжывання «ORDER BY».
  • Рэалізавана канцэпцыя годных даверу дапаўненняў («trusted extension«), якія могуць быць устаноўлены звычайнымі карыстальнікамі, якія не маюць правоў адміністратара СКБД. Спіс падобных дадаткаў першапачаткова наканаваны і можа быць пашыраны суперкарыстальнікам. У лік годных даверу дадаткаў уключаны pgcrypto, tablefunc, hstore і да т.п.
  • У механізме падлучэння вонкавых табліц Foreign Data Wrapper (postgres_fdw) рэалізаваная падтрымка аўтэнтыфікацыі на аснове сертыфікатаў. Пры выкарыстанні SCRAM-аўтэнтыфікацыі кліентам дазволена запытвацьпрывязку канала»(channel binding).

Крыніца: opennet.ru

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