Нашри PostgreSQL 12

Дастаи PostgreSQL нашри PostgreSQL 12-ро эълон кард, ки версияи охирини системаи идоракунии пойгоҳи додаҳои реляционии кушодаасос мебошад.
PostgreSQL 12 иҷрои дархостҳоро ба таври назаррас беҳтар кардааст - махсусан ҳангоми кор бо ҳаҷми калони маълумот ва инчунин истифодаи фазои дискро дар маҷмӯъ оптимизатсия кардааст.

Хусусиятҳои нав иборатанд аз:

  • татбиқи забони дархости JSON Path (муҳимтарин қисми стандарти SQL/JSON);
  • оптимизатсияи иҷрои ифодаҳои ҷадвали умумӣ (WITH);
  • дастгирии сутунҳои тавлидшуда

Ҷомеа инчунин корро дар самти васеъшавӣ ва эътимоднокии PostgreSQL, таҳияи дастгирии байналмиллалӣ, қобилиятҳои аутентификатсия ва пешниҳоди роҳҳои осонтари идоракунии система идома медиҳад.

Ин версия татбиқи интерфейси муҳаррикҳои нигаҳдории васлшавандаро дар бар мегирад, ки ҳоло ба таҳиягарон имкон медиҳад, ки усулҳои нигоҳдории маълумотро эҷод кунанд.

Такмили иҷрои

PostgreSQL 12 такмилдиҳии назарраси фаъолият ва нигоҳдории системаҳои индексатсия ва тақсимкуниро дар бар мегирад.

Индексҳои B-tree, навъи стандарти индексатсия дар PostgreSQL, дар версияи 12 барои сарбории корӣ, ки тағироти зуд-зуд индексатсияро дар бар мегиранд, оптимизатсия карда шудаанд. Истифодаи меъёри TPC-C барои PostgreSQL 12 ба ҳисоби миёна 40% коҳиши истифодаи фазо ва афзоиши умумии иҷрои дархостҳоро нишон дод.

Дархостҳо бар зидди ҷадвалҳои тақсимшуда, махсусан барои ҷадвалҳое, ки аз ҳазорҳо қисмҳо иборатанд, ки кор бо қисмҳои маҳдуди массивҳои додаҳоро талаб мекунанд, беҳбудиҳои назаррас гирифтанд. Фаъолияти илова кардани маълумот ба ҷадвалҳои тақсимшуда бо истифода аз INSERT ва COPY, инчунин қобилияти замима кардани қисмати нав бидуни бастани дархостҳо беҳтар шудааст.

PostgreSQL 12 беҳбудиҳои иловагиро барои индексатсия, ки ба иҷрои умумӣ таъсир мерасонад, анҷом дод, аз ҷумла:

  • кам кардани хароҷоти изофӣ ҳангоми тавлиди WAL барои намудҳои индекси GiST, GIN ва SP-GiST;
  • қобилияти эҷод кардани индексҳои ба истилоҳ фарогирии (банди INCLUDE) дар индексҳои GiST;
  • қобилияти иҷрои дархостҳои “ҳамсояи наздиктарин” (ҷустуҷӯи k-NN) бо истифода аз оператори масофа (<->) ва бо истифода аз индексҳои SP-GiST;
  • дастгирии ҷамъоварии омори арзиши маъмултарин (MCV) бо истифода аз CREATE STATISTICS, ки барои ба даст овардани нақшаҳои беҳтари дархост ҳангоми истифодаи сутунҳое, ки арзишҳояшон нобаробар тақсим шудаанд, кӯмак мекунад.

Ҷамъоварии JIT бо истифода аз LLVM, ки дар PostgreSQL 11 ҷорӣ шудааст, ҳоло ба таври нобаёнӣ фаъол аст. Ҷамъоварии JIT самаранокиро ҳангоми кор бо ифодаҳо дар бандҳои WHERE, рӯйхатҳои мақсаднок, агрегатҳо ва баъзе амалиёти дохилӣ беҳтар мекунад. Он дастрас аст, агар шумо PostgreSQL-ро бо LLVM тартиб дода бошед ё бастаи PostgreSQL-ро истифода баред, ки бо LLVM фаъол сохта шудааст.

Такмилдиҳии қобилиятҳои забони SQL ва мутобиқати стандартӣ

PostgreSQL 12 қобилияти пурсиши ҳуҷҷатҳои JSON-ро бо истифода аз ифодаҳои роҳи JSON, ки дар стандарти SQL/JSON муайян шудаанд, ҷорӣ намуд. Чунин дархостҳо метавонанд механизмҳои мавҷудаи индексатсияро барои ҳуҷҷатҳое, ки дар формати JSONB нигоҳ дошта мешаванд, истифода баранд.

Ифодаҳои ҷадвали умумӣ, ки бо номи WITH дархостҳо низ маълуманд, акнун метавонанд бо истифода аз ивазкунӣ дар PostgreSQL 12 ба таври худкор иҷро карда шаванд, ки дар навбати худ метавонад ба беҳтар шудани кори бисёр дархостҳои мавҷуда мусоидат кунад. Дар версияи нав, қисми ивазкунии дархости WITH метавонад танҳо дар сурате иҷро шавад, ки он рекурсивӣ набошад, таъсири тараф надошта бошад ва танҳо як маротиба дар қисми минбаъдаи дархост истинод карда шавад.

PostgreSQL 12 дастгирии "сутунҳои тавлидшуда" -ро ҷорӣ мекунад. Ин навъи сутун, ки дар стандарти SQL тавсиф шудааст, арзишро дар асоси мундариҷаи сутунҳои дигари ҳамон ҷадвал ҳисоб мекунад. Дар ин версия, PostgreSQL "сутунҳои захирашудаи тавлидшуда" -ро дастгирӣ мекунад, ки дар он арзиши ҳисобшуда дар диск нигоҳ дошта мешавад.

Интернационализатсия

PostgreSQL 12 дастгирии ҳамоҳангсозии ICU-ро тавассути имкон медиҳад, ки ба корбарон имкон фароҳам оранд, ки "ҳамбастагии ғайримуқаррарӣ" -ро муайян кунанд, ки метавонанд, масалан, муқоисаи ба ҳарфҳои хурд ё аксент беҳассосро иҷозат диҳанд.

Сертификатсия

PostgreSQL дастгирии худро барои усулҳои қавии аутентификатсия бо якчанд такмилҳо, ки амният ва функсияҳои иловагиро таъмин мекунанд, васеъ мекунад. Ин нашрия рамзгузории паҳлӯи муштарӣ ва серверро барои тасдиқи аутентификатсия тавассути интерфейсҳои GSSAPI ва инчунин қобилияти PostgreSQL барои кашф кардани серверҳои LDAP, вақте ки PostgreSQL бо OpenLDAP тартиб дода мешавад, ҷорӣ мекунад.

Илова бар ин, PostgreSQL 12 ҳоло варианти аутентификатсияи бисёрфакторро дастгирӣ мекунад. Сервери PostgreSQL акнун метавонад аз муштарӣ талаб кунад, ки сертификати дурусти SSL-ро бо номи корбари мувофиқ бо истифода аз clientcert=verify-full пешниҳод кунад ва онро бо талаботи усули аутентификатсияи алоҳида муттаҳид кунад (масалан, scram-sha-256).

Идораи

PostgreSQL 12 бо истифода аз фармони REINDEX CONCURRENTLY қобилияти иҷро кардани барқарорсозии индекси ғайриблокнашавандаро ҷорӣ кард. Ин ба корбарон имкон медиҳад, ки ҳангоми барқарорсозии тӯлонии индекс аз бекористии DBMS канорагирӣ кунанд.

Илова бар ин, дар PostgreSQL 12, шумо метавонед бо истифода аз фармони pg_checksums ҳисобҳои саҳифаро дар кластери қатъкунӣ фаъол ё ғайрифаъол кунед. Қаблан, санҷиши саҳифаҳо, хусусияте, ки ба тафтиши тамомияти додаҳои дар диск нигоҳ дошташуда кӯмак мекунад, танҳо вақте фаъол карда мешавад, ки кластери PostgreSQL бо истифода аз initdb оғоз карда шуд.

Манбаъ: linux.org.ru

Илова Эзоҳ