PostgreSQL 12 tso tawm

Pab pawg PostgreSQL tau tshaj tawm qhov kev tso tawm ntawm PostgreSQL 12, qhov tseeb version ntawm qhov qhib kev sib raug zoo database tswj system.
PostgreSQL 12 tau txhim kho cov lus nug kev ua tau zoo - tshwj xeeb tshaj yog thaum ua haujlwm nrog cov ntaub ntawv loj, thiab kuj tau ua kom zoo dua siv qhov chaw disk feem ntau.

Cov yam ntxwv tshiab muaj xws li:

  • kev siv JSON Path lus nug (qhov tseem ceeb tshaj plaws ntawm SQL / JSON tus qauv);
  • kev ua kom zoo ntawm kev ua tiav ntawm cov lus qhia ntau (nrog);
  • kev txhawb nqa rau cov kab tsim tawm

Lub zej zog kuj tseem ua haujlwm ntxiv rau kev nthuav dav thiab kev ntseeg siab ntawm PostgreSQL, txhim kho kev txhawb nqa thoob ntiaj teb, kev lees paub muaj peev xwm, thiab muab txoj hauv kev yooj yim rau kev tswj hwm lub cev.

Qhov kev tso tawm no suav nrog kev siv lub interface rau pluggable cia xyaw, uas tam sim no tso cai rau cov neeg tsim khoom tsim lawv tus kheej cov ntaub ntawv khaws cia.

Kev txhim kho kev ua tau zoo

PostgreSQL 12 suav nrog kev ua haujlwm tseem ceeb thiab kev txhim kho kev txhim kho rau indexing thiab partitioning systems.

B-ntoo indexes, tus qauv indexing hom nyob rau hauv PostgreSQL, tau optimized nyob rau hauv version 12 rau workloads uas feem ntau index modifications. Siv TPC-C benchmark rau PostgreSQL 12 tau pom qhov nruab nrab 40% txo qis hauv qhov chaw siv thiab tag nrho cov lus nug ua tau zoo.

Cov lus nug tawm tsam cov rooj sib cais tau txais kev txhim kho pom tau zoo, tshwj xeeb tshaj yog rau cov ntxhuav uas muaj ntau txhiab tus muab faib uas yuav tsum tau ua haujlwm nrog tsuas yog qee qhov ntawm cov ntaub ntawv arrays. Kev ua tau zoo ntawm kev ntxiv cov ntaub ntawv rau cov rooj sib faib siv INSERT thiab COPY tau raug txhim kho, nrog rau kev muaj peev xwm txuas tau qhov kev faib tshiab yam tsis muaj kev cuam tshuam cov lus nug.

PostgreSQL 12 tau txhim kho ntxiv rau indexing uas cuam tshuam tag nrho kev ua tau zoo, suav nrog:

  • txo nyiaj siv ua haujlwm thaum tsim WAL rau GiST, GIN thiab SP-GiST index hom;
  • lub peev xwm los tsim kom muaj qhov hu ua npog indexes (INCLUDE clause) ntawm GiST indexes;
  • muaj peev xwm ua tau "ze neeg nyob ze" queries (k-NN search) siv tus neeg teb xov tooj nyob deb () thiab siv SP-GiST indexes;
  • kev txhawb nqa rau kev sau cov nqi feem ntau (MCV) cov txheeb cais siv CREATE STATISTICS, uas pab kom tau txais cov lus nug zoo dua thaum siv cov kab uas nws cov txiaj ntsig tsis sib xws.

JIT compilation siv LLVM, qhia hauv PostgreSQL 11, tam sim no tau qhib los ntawm lub neej ntawd. JIT muab tso ua ke txhim kho kev ua tau zoo thaum ua haujlwm nrog cov lus qhia nyob rau hauv WHERE clauses, lub hom phiaj cov npe, sib sau ua ke, thiab qee qhov haujlwm sab hauv. Nws muaj yog tias koj tau sau PostgreSQL nrog LLVM lossis siv pob PostgreSQL uas tau tsim nrog LLVM tau qhib.

Kev txhim kho rau SQL lus muaj peev xwm thiab cov qauv sib xws

PostgreSQL 12 tau qhia txog lub peev xwm los nug JSON cov ntaub ntawv siv JSON kab lus hais hauv SQL / JSON tus qauv. Cov lus nug zoo li no tuaj yeem siv cov txheej txheem indexing uas twb muaj lawm rau cov ntaub ntawv khaws cia hauv JSONB hom kom khaws cov ntaub ntawv zoo.

Cov lus qhia dav dav, tseem hu ua WITH queries, tam sim no tuaj yeem ua tiav siv kev hloov pauv hauv PostgreSQL 12, uas tuaj yeem pab txhim kho kev ua haujlwm ntawm ntau cov lus nug uas twb muaj lawm. Nyob rau hauv lub tshiab version, ib tug hloov ib feem ntawm ib tug nrog cov lus nug tsuas yog yuav tsum tau ua yog hais tias nws tsis yog recursive, tsis muaj kev phiv, thiab yog hais txog ib zaug xwb nyob rau hauv ib tug tom ntej feem ntawm cov lus nug.

PostgreSQL 12 qhia txog kev txhawb nqa rau "tsim kab". Piav hauv tus qauv SQL, hom kab ke no suav tus nqi raws li cov ntsiab lus ntawm lwm kab hauv tib lub rooj. Nyob rau hauv no version, PostgreSQL txhawb nqa "kho tau tsim kab", qhov twg tus nqi xam tau muab khaws cia rau hauv disk.

НтСрнационализация

PostgreSQL 12 nthuav kev txhawb nqa rau ICU collations los ntawm kev tso cai rau cov neeg siv los txhais "tsis yog-kev txiav txim siab collations" uas muaj peev xwm, piv txwv li, tso cai rau cov ntaub ntawv-insensitive lossis accent-insensitive piv.

Kev Txhaum Cai

PostgreSQL nthuav nws cov kev txhawb nqa rau cov txheej txheem kev lees paub muaj zog nrog ntau yam kev txhim kho uas muab kev ruaj ntseg ntxiv thiab ua haujlwm. Qhov kev tso tawm no qhia txog tus neeg siv khoom-sab thiab server-sab encryption rau kev lees paub dhau GSSAPI interfaces, nrog rau lub peev xwm rau PostgreSQL nrhiav LDAP servers thaum PostgreSQL suav nrog OpenLDAP.

Tsis tas li ntawd, PostgreSQL 12 tam sim no txhawb kev xaiv ntau qhov kev lees paub tseeb. PostgreSQL neeg rau zaub mov tam sim no tuaj yeem xav kom tus neeg siv khoom muab daim ntawv pov thawj SSL siv tau nrog tus neeg siv lub npe sib xws siv clientcert=verify-full, thiab muab qhov no nrog rau cov txheej txheem kev lees paub cais (xws li scram-sha-256).

Kev tswj hwm

PostgreSQL 12 tau qhia txog lub peev xwm los ua qhov tsis thaiv qhov ntsuas rov tsim kho siv REINDEX CONCURRENTLY hais kom ua. Qhov no tso cai rau cov neeg siv kom tsis txhob DBMS downtime thaum lub sij hawm ntev index rebuilds.

Tsis tas li ntawd, hauv PostgreSQL 12, koj tuaj yeem qhib lossis kaw nplooj ntawv checksums hauv pawg kaw siv pg_checksums hais kom ua. Yav dhau los, nplooj ntawv checksums, qhov tshwj xeeb uas pab txheeb xyuas qhov tseeb ntawm cov ntaub ntawv khaws cia hauv disk, tsuas yog tuaj yeem qhib thaum PostgreSQL pawg tau pib siv initdb.

Tau qhov twg los: linux.org.ru ua

Ntxiv ib saib