Ho lokolloa ha PostgreSQL 12

Sehlopha sa PostgreSQL se phatlalalitse tokollo ea PostgreSQL 12, mofuta oa morao-rao oa sistimi e bulehileng ea taolo ea database ea likamano.
PostgreSQL 12 e ntlafalitse haholo ts'ebetso ea lipotso - haholo ha e sebetsa ka bongata bo boholo ba data, hape e ntlafalitse ts'ebeliso ea sebaka sa disk ka kakaretso.

Lintlha tse ncha li kenyelletsa:

  • ts'ebetsong ea puo ea potso ea JSON Path (karolo ea bohlokoa ka ho fetisisa ea SQL / JSON standard);
  • ho ntlafatsa ts'ebetsong ea lipolelo tse tloaelehileng tsa tafole (LE);
  • tšehetso bakeng sa litšiea tse hlahisitsoeng

Sechaba se boetse se tsoela pele ho sebetsa ka ho atolosa le ho tšepahala ha PostgreSQL, ho nts'etsapele ts'ehetso ea machaba, bokhoni ba ho netefatsa, le ho fana ka litsela tse bonolo tsa ho tsamaisa tsamaiso.

Tokollo ena e kenyelletsa ts'ebetsong ea sebopeho sa lienjineri tsa polokelo tse plugable, tseo hona joale li lumellang bahlahisi hore ba iketsetse mekhoa ea bona ea ho boloka data.

Lintlafatso tsa ts'ebetso

PostgreSQL 12 e kenyelletsa ntlafatso e kholo ea ts'ebetso le tlhokomelo bakeng sa litsamaiso tsa indexing le karohano.

Li-index tsa B-tree, mofuta o tloaelehileng oa indexing ho PostgreSQL, li ntlafalitsoe ho mofuta oa 12 bakeng sa meroalo ea mesebetsi e amanang le liphetoho khafetsa. Ho sebelisa benchmark ea TPC-C bakeng sa PostgreSQL 12 ho bonts'itse phokotso e tloaelehileng ea 40% ea tšebeliso ea sebaka le keketseho e akaretsang ea ts'ebetso ea lipotso.

Lipotso khahlano le litafole tse arotsoeng li fumane lintlafatso tse hlokomelehang, haholoholo litafole tse nang le likarolo tse likete tse hlokang ho sebetsa ka likarolo tse fokolang feela tsa pokello ea data. Ts'ebetso ea ho kenyelletsa data ho litafole tse arotsoeng ka ho sebelisa INSERT le COPY e ntlafalitsoe, hammoho le bokhoni ba ho hokela karolo e ncha ntle le ho thibela lipotso.

PostgreSQL 12 e entse lintlafatso tse ling ho indexing e amang ts'ebetso ka kakaretso, ho kenyelletsa:

  • ho fokotsa holimo ha ho hlahisa WAL bakeng sa mefuta ea index ea GiST, GIN le SP-GiST;
  • bokhoni ba ho theha seo ho thoeng ke li-index tse koahelang (INCLUDE clause) ho li-index tsa GiST;
  • bokhoni ba ho etsa lipotso tsa "moahelani ea haufi" (k-NN search) ho sebelisa mochine oa hole (<->) le ho sebelisa li-index tsa SP-GiST;
  • ts'ehetso ea ho bokella lipalo-palo tsa boleng bo tloaelehileng haholo (MCV) ho sebelisa CREATE STATISTICS, e thusang ho fumana meralo ea lipotso e betere ha u sebelisa likholomo tseo boleng ba tsona bo sa arolelanoeng ka ho lekana.

Kopano ea JIT e sebelisang LLVM, e hlahisitsoeng ho PostgreSQL 11, e se e nolofalitsoe ka boiketsetso. Ho kopanngoa ha JIT ho ntlafatsa ts'ebetso ha ho sebetsa ka lipolelo ho WHERE clauses, manane a targeted, aggregates, le ts'ebetso e itseng ea ka hare. E ea fumaneha haeba u hlophisitse PostgreSQL ka LLVM kapa u sebelisa sephutheloana sa PostgreSQL se hahiloeng ka LLVM e nolofalitsoe.

Lintlafatso ho bokhoni ba puo ea SQL le tšebelisano e tloaelehileng

PostgreSQL 12 e hlahisitse bokhoni ba ho botsa litokomane tsa JSON ho sebelisa mekhoa ea tsela ea JSON e hlalositsoeng ka mokhoa oa SQL/JSON. Lipotso tse joalo li ka sebelisa mekhoa e teng ea indexing bakeng sa litokomane tse bolokiloeng ka sebopeho sa JSONB ho fumana lintlha hantle.

Lipolelo tse tloaelehileng tsa tafole, tse tsejoang hape e le LE lipotso, joale li ka etsoa ka bohona ho sebelisoa sebaka sa PostgreSQL 12, e leng se ka thusang ho ntlafatsa ts'ebetso ea lipotso tse ngata tse teng. Phetolelong e ncha, karolo e 'ngoe ea potso ea WITH e ka etsoa feela haeba e sa ipheta, e se na litla-morao, 'me e buuoa hang feela karolong e latelang ea potso.

PostgreSQL 12 e hlahisa tšehetso bakeng sa "likholomo tse hlahisitsoeng". E hlalosoa ka mokhoa oa SQL, mofuta ona oa kholomo o bala boleng ho latela likahare tsa likholomo tse ling tafoleng e le 'ngoe. Phetolelong ena, PostgreSQL e ts'ehetsa "likholomo tse hlahisitsoeng tse bolokiloeng", moo boleng bo baliloeng bo bolokiloeng ho disk.

Machaba

PostgreSQL 12 e holisa tšehetso bakeng sa likhokahano tsa ICU ka ho lumella basebelisi ho hlalosa "likhokahano tse sa reroang" tseo, ka mohlala, li ka lumellang papiso e sa tsotelleng kapa e sa tsotelleng.

Netefatso

PostgreSQL e holisa tšehetso ea eona bakeng sa mekhoa e matla ea netefatso ka lintlafatso tse 'maloa tse fanang ka ts'ireletso le ts'ebetso e eketsehileng. Tokollo ena e hlahisa encryption ea lehlakore la bareki le lehlakore la seva bakeng sa netefatso holim'a li-interface tsa GSSAPI, hammoho le bokhoni ba PostgreSQL ba ho fumana li-server tsa LDAP ha PostgreSQL e hlophisoa le OpenLDAP.

Ntle le moo, PostgreSQL 12 joale e ts'ehetsa khetho ea netefatso ea lintlha tse ngata. Seva ea PostgreSQL joale e ka hloka hore moreki a fane ka setifikeiti sa SSL se nepahetseng se nang le lebitso la mosebelisi le lumellanang le sebelisa clientcert=verify-full, 'me se kopanye sena le mokhoa o fapaneng oa netefatso (mohlala scram-sha-256).

Tsamaiso

PostgreSQL 12 e hlahisitse bokhoni ba ho haha ​​​​li-index tse sa thibeleng ho sebelisa taelo ea REINDEX CONCURRENTLY. Sena se lumella basebelisi ho qoba ho theoha ha DBMS nakong ea li-index tsa nako e telele.

Ntle le moo, ho PostgreSQL 12, o ka nolofalletsa kapa oa tima li-checksums tsa leqephe ka har'a sehlopha sa shutdown o sebelisa pg_checksums taelo. Nakong e fetileng, li-checksums tsa maqephe, e leng tšobotsi e thusang ho netefatsa botšepehi ba data e bolokiloeng ho disk, e ne e ka khoneha feela ha sehlopha sa PostgreSQL se qalisoa ka initdb.

Source: linux.org.ru

Eketsa ka tlhaloso