Ukukhishwa kwe-PostgreSQL 12

Ithimba le-PostgreSQL limemezele ukukhishwa kwe-PostgreSQL 12, inguqulo yakamuva yohlelo lokuphathwa kwesizindalwazi somthombo ovulekile.
I-PostgreSQL 12 ithuthukise kakhulu ukusebenza kwemibuzo - ikakhulukazi uma isebenza ngamanani amakhulu wedatha, futhi ithuthukise nokusetshenziswa kwesikhala sediski ngokujwayelekile.

Izici ezintsha zifaka:

  • ukuqaliswa kolimi lombuzo we-JSON Path (ingxenye ebaluleke kakhulu yezinga le-SQL/JSON);
  • ukwenza kahle kokwenziwa kwezinkulumo zethebula ezivamile (NGANYE);
  • usekelo lwamakholomu akhiqiziwe

Umphakathi futhi uyaqhubeka nokusebenza ekwandiseni nasekuthembekeni kwe-PostgreSQL, ukuthuthukisa ukwesekwa kokusebenza kwamanye amazwe, amakhono okuqinisekisa, nokuhlinzeka ngezindlela ezilula zokuphatha uhlelo.

Lokhu kukhishwa kufaka phakathi ukusetshenziswa kwesixhumi esibonakalayo sezinjini zokugcina ezixhumeka, manje okuvumela abathuthukisi ukuthi bazenzele ezabo izindlela zokugcina idatha.

Ukuthuthukiswa kokusebenza

I-PostgreSQL 12 ihlanganisa ukuthuthukiswa okuphawulekayo kokusebenza nokugcinwa kokulungiswa kwezinhlelo zokukhomba nokuhlukanisa.

Izinkomba ze-B-tree, uhlobo lwenkomba olujwayelekile ku-PostgreSQL, luthuthukiswe kunguqulo 12 ngomthwalo wokusebenza ohilela ukuguqulwa kwenkomba okuvamile. Ukusebenzisa ibhentshimakhi ye-TPC-C ye-PostgreSQL 12 kubonise ukuncishiswa okumaphakathi okungu-40% kokusetshenziswa kwesikhala kanye nokwenyuka kukonke ekusebenzeni kwemibuzo.

Imibuzo emelene namathebula ahlukanisiwe ithole ukuthuthukiswa okubonakalayo, ikakhulukazi kumathebula ahlanganisa izinkulungwane zama-partitions adinga ukusebenza ngezingxenye ezilinganiselwe kuphela zamalungu afanayo edatha. Ukusebenza kokwengeza idatha kumathebula ahlukanisiwe kusetshenziswa i-INSERT ne-COPY kuthuthukisiwe, kanye nekhono lokunamathisela ukwahlukanisa okusha ngaphandle kokuvimba imibuzo.

I-PostgreSQL 12 yenze ukuthuthuka okwengeziwe ekukhombeni okunomthelela ekusebenzeni kukonke, okuhlanganisa:

  • i-overhead encishisiwe lapho kukhiqizwa i-WAL yezinhlobo zezinkomba ze-GiST, GIN kanye ne-SP-GiST;
  • ikhono lokudala lokho okubizwa ngokuthi izinkomba zokumboza (INCLUDE clause) ezinkombeni ze-GiST;
  • ikhono lokwenza imibuzo "yomakhelwane oseduze" (ukusesha kwe-k-NN) usebenzisa u-opharetha webanga (<->) nokusebenzisa izinkomba ze-SP-GiST;
  • usekelo lokuqoqa izibalo zenani elivame kakhulu (i-MCV) kusetshenziswa okuthi CREATE STATISTICS, esiza ukuthola izinhlelo ezingcono zemibuzo lapho kusetshenziswa amakholomu amanani azo asatshalaliswa ngokulinganayo.

Ukuhlanganiswa kwe-JIT kusetshenziswa i-LLVM, eyethulwe ku-PostgreSQL 11, manje isinikwe amandla ngokuzenzakalela. Ukuhlanganiswa kwe-JIT kuthuthukisa ukusebenza lapho kusebenza nezinkulumo eziku-WHERE izigaba, izinhlu eziqondiwe, izilinganiso, neminye imisebenzi yangaphakathi. Iyatholakala uma uhlanganise i-PostgreSQL nge-LLVM noma usebenzisa iphakheji ye-PostgreSQL eyakhiwe nge-LLVM enikwe amandla.

Ukuthuthukiswa kwamakhono olimi lwe-SQL nokuhambisana okujwayelekile

I-PostgreSQL 12 yethule ikhono lokubuza amadokhumenti e-JSON kusetshenziswa izinkulumo zendlela ye-JSON echazwe kuzinga le-SQL/JSON. Imibuzo enjalo ingasebenzisa izindlela zokukhomba ezikhona zamadokhumenti agcinwe ngefomethi ye-JSONB ukuze kutholakale idatha ngempumelelo.

Izisho zethebula ezivamile, ezaziwa nangokuthi NGEmibuzo, manje zingenziwa ngokuzenzakalela kusetshenziswa ukumiselela ku-PostgreSQL 12, yona engasiza ukuthuthukisa ukusebenza kwemibuzo eminingi ekhona. Enguqulweni entsha, ingxenye eshintshwayo yombuzo othi WITH ingenziwa kuphela uma ingaphindi, ingenayo imiphumela emibi, futhi ibhekiselwa kanye kuphela engxenyeni elandelayo yombuzo.

I-PostgreSQL 12 yethula ukusekelwa "kwamakholomu akhiqiziwe". Njengoba kuchazwe ezingeni le-SQL, lolu hlobo lwekholomu lubala inani ngokusekelwe kokuqukethwe kwamanye amakholomu kuthebula elifanayo. Kule nguqulo, i-PostgreSQL isekela "amakholomu akhiqiziwe agciniwe", lapho inani elibaliwe ligcinwa khona kudiski.

Kwamanye amazwe

I-PostgreSQL 12 inweba ukwesekwa kwamaqoqo e-ICU ngokuvumela abasebenzisi ukuthi bachaze "ukuhlanganisa okunganqunyelwe" okungavumela, isibonelo, ukuqhathanisa okungazweli noma okungazweli iphimbo.

Ukufakazela ubuqiniso

I-PostgreSQL inweba ukwesekwa kwayo kwezindlela zokuqinisekisa eziqinile ngezithuthukisi ezimbalwa ezinikeza ukuvikeleka okwengeziwe nokusebenza. Lokhu kukhishwa kwethula ukubethela kohlangothi lweklayenti kanye nohlangothi lweseva ukuze kugunyazwe ngaphezu kwe-GSSAPI interface, kanye nekhono le-PostgreSQL lokuthola amaseva e-LDAP lapho i-PostgreSQL ihlanganiswa ne-OpenLDAP.

Ukwengeza, i-PostgreSQL 12 manje isekela inketho yokuqinisekisa yezinto eziningi. Iseva ye-PostgreSQL manje ingadinga ukuthi iklayenti linikeze isitifiketi esivumelekile se-SSL ngegama lomsebenzisi elihambisanayo lisebenzisa i-clientcert=verify-full, futhi ihlanganise lokhu nemfuneko ehlukile yendlela yokuqinisekisa (isb. scram-sha-256).

Ukuphatha

I-PostgreSQL 12 yethule amandla okwenza inkomba kabusha engavimbeli isebenzisa umyalo we-REINDEX CONCURRENTLY. Lokhu kuvumela abasebenzisi ukuthi bagweme isikhathi sokuphumula se-DBMS phakathi nokwakhiwa kabusha kwenkomba okude.

Ukwengeza, ku-PostgreSQL 12, ungavumela noma ukhubaze ukuhlola kwekhasi kuqoqo lokuvala shaqa usebenzisa umyalo we-pg_checksums. Ngaphambilini, ama-checksums amakhasi, isici esiza ukuqinisekisa ubuqotho bedatha egcinwe kudiski, yayinganikwa amandla kuphela lapho iqoqo le-PostgreSQL liqaliswa kusetshenziswa i-initdb.

Source: linux.org.ru

Engeza amazwana