Kutulutsidwa kwa PostgreSQL 12

Gulu la PostgreSQL lalengeza kutulutsidwa kwa PostgreSQL 12, mtundu waposachedwa wa kasamalidwe ka database yotseguka yolumikizana.
PostgreSQL 12 yasintha kwambiri ntchito yamafunso - makamaka pogwira ntchito ndi ma data ambiri, komanso yakonza kugwiritsa ntchito malo a disk nthawi zonse.

Zatsopano zikuphatikiza:

  • kukhazikitsa chilankhulo cha funso la JSON Path (gawo lofunika kwambiri la SQL/JSON standard);
  • kukhathamiritsa kwa kukwaniritsidwa kwa mawu wamba tebulo (NDI);
  • thandizo kwa zipilala zopangidwa

Anthu ammudzi akupitirizabe kugwira ntchito pakukula ndi kudalirika kwa PostgreSQL, kupanga chithandizo cha mayiko, mphamvu zovomerezeka, ndi kupereka njira zosavuta zoyendetsera dongosolo.

Kutulutsidwa kumeneku kumaphatikizapo kukhazikitsidwa kwa mawonekedwe a injini zosungiramo pluggable, zomwe tsopano zimalola opanga kupanga njira zawo zosungira deta.

Kusintha kwa magwiridwe antchito

PostgreSQL 12 imaphatikizapo kusintha kwakukulu kwa magwiridwe antchito ndi kukonza kwa indexing ndi magawo ogawa.

Ma index a B-tree, mtundu wanthawi zonse wolozera mu PostgreSQL, adakongoletsedwa mu mtundu 12 pazantchito zomwe zimaphatikizapo kusinthidwa pafupipafupi. Kugwiritsa ntchito benchmark ya TPC-C ya PostgreSQL 12 kunawonetsa kuchepa kwapakati pa 40% pakugwiritsa ntchito malo komanso kuchuluka kwa mayankho amafunso.

Mafunso okhudzana ndi matebulo ogawa adalandira kusintha kowoneka bwino, makamaka pamagome okhala ndi magawo masauzande ambiri omwe amafunikira kugwira ntchito ndi magawo ochepa chabe amitundu yambiri. Kuchita kwa kuwonjezera deta pamagome ogawidwa pogwiritsa ntchito INSERT ndi COPY kwakonzedwa bwino, komanso kuthekera kophatikiza gawo latsopano popanda kuletsa mafunso.

PostgreSQL 12 yapanga zina zowonjezera pakuwongolera zomwe zimakhudza magwiridwe antchito, kuphatikiza:

  • kuchepetsedwa pamwamba popanga WAL ya mitundu ya index ya GiST, GIN ndi SP-GiST;
  • kuthekera kopanga zomwe zimatchedwa indexing indexes (INCLUDE clause) pama index a GiST;
  • kuthekera kochita mafunso a "oyandikana nawo wapafupi" (kusaka k-NN) pogwiritsa ntchito mtunda woyendetsa (<->) ndikugwiritsa ntchito ma index a SP-GiST;
  • kuthandizira kusonkhanitsa ziwerengero zamtengo wapatali kwambiri (MCV) pogwiritsa ntchito CREATE STATISTICS, zomwe zimathandiza kupeza malingaliro abwinoko mukamagwiritsa ntchito mizati yomwe mitengo yake imagawidwa mosiyanasiyana.

Kuphatikizika kwa JIT pogwiritsa ntchito LLVM, komwe kudayambitsidwa mu PostgreSQL 11, tsopano kwathandizidwa mwachisawawa. Kuphatikizika kwa JIT kumathandizira magwiridwe antchito pogwira ntchito ndi mawu omwe ali m'magawo a WHERE, mindandanda yazomwe mukufuna, kuphatikiza, ndi ntchito zina zamkati. Imapezeka ngati mwapanga PostgreSQL ndi LLVM kapena mukugwiritsa ntchito phukusi la PostgreSQL lomwe linamangidwa ndi LLVM lothandizidwa.

Kupititsa patsogolo luso la chilankhulo cha SQL komanso kuyanjana kokhazikika

PostgreSQL 12 idayambitsa kuthekera kofunsa zikalata za JSON pogwiritsa ntchito njira ya JSON yofotokozedwa mu SQL/JSON standard. Mafunso otere atha kugwiritsa ntchito njira zolozera zomwe zilipo kale pamakalata osungidwa mumtundu wa JSONB kuti atengere bwino deta.

Mawu odziwika patebulo, omwe amadziwikanso kuti WITH mafunso, tsopano atha kuchitidwa mwachisawawa pogwiritsa ntchito PostgreSQL 12, zomwe zingathandize kukonza magwiridwe antchito a mafunso ambiri omwe alipo. M'mawu atsopano, gawo lolowa m'malo mwa funso la WITH likhoza kuchitidwa pokhapokha ngati silikubwerezabwereza, liribe zotsatira zake, ndipo limatchulidwa kamodzi kokha mu gawo lotsatira la funsolo.

PostgreSQL 12 imayambitsa chithandizo cha "mizere yopangidwa". Kufotokozera muyeso wa SQL, mtundu wa ndime iyi umawerengera mtengo potengera zomwe zili m'mipingo ina patebulo lomwelo. Mu mtundu uwu, PostgreSQL imathandizira "mizere yosungidwa", pomwe mtengo wowerengeka umasungidwa pa diski.

Kumayiko ena

PostgreSQL 12 imakulitsa kuthandizira kwa kuphatikizika kwa ICU polola ogwiritsa ntchito kutanthauzira "zosagwirizana" zomwe zimatha, mwachitsanzo, kulola kufananitsa mopanda chidwi kapena mopanda chidwi.

Kutsimikizika

PostgreSQL imakulitsa chithandizo chake cha njira zotsimikizika zolimba ndi zowonjezera zingapo zomwe zimapereka chitetezo ndi magwiridwe antchito. Kutulutsidwa kumeneku kumayambitsa kubisa kwa kasitomala ndi mbali ya seva kuti itsimikizidwe pamalo olumikizirana a GSSAPI, komanso kuthekera kwa PostgreSQL kupeza ma seva a LDAP pomwe PostgreSQL ikuphatikizidwa ndi OpenLDAP.

Kuphatikiza apo, PostgreSQL 12 tsopano imathandizira njira yotsimikizika yazinthu zambiri. Seva ya PostgreSQL tsopano ingafunike kuti kasitomala apereke satifiketi yovomerezeka ya SSL yokhala ndi dzina lolowera pogwiritsa ntchito clientcert=verify-full, ndikuphatikiza izi ndi njira yotsimikizira yosiyana (monga scram-sha-256).

Ulamuliro

PostgreSQL 12 idayambitsa kuthekera kopanganso zomanga zosatsekereza pogwiritsa ntchito lamulo la REINDEX CONCURRENTLY. Izi zimalola ogwiritsa ntchito kupewa kutsika kwa DBMS panthawi yomanganso index.

Kuphatikiza apo, mu PostgreSQL 12, mutha kuloleza kapena kuletsa macheke atsamba pagulu lotseka pogwiritsa ntchito pg_checksums lamulo. M'mbuyomu, ma checksums atsamba, chinthu chomwe chimathandiza kutsimikizira kukhulupirika kwa data yomwe yasungidwa pa disk, ikanatha kuthandizidwa pamene gulu la PostgreSQL lidayambitsidwa pogwiritsa ntchito initdb.

Source: linux.org.ru

Kuwonjezera ndemanga