PostgreSQL 12 idasilẹ

Ẹgbẹ PostgreSQL ti kede itusilẹ ti PostgreSQL 12, ẹya tuntun ti eto iṣakoso data ibatan ibatan orisun.
PostgreSQL 12 ti ni ilọsiwaju iṣẹ ṣiṣe ibeere ni pataki - ni pataki nigbati o ba n ṣiṣẹ pẹlu awọn iwọn nla ti data, ati pe o tun ṣe iṣapeye lilo aaye disk ni gbogbogbo.

Awọn ẹya tuntun pẹlu:

  • imuse ti ede ibeere Ọna JSON (apakan pataki julọ ti boṣewa SQL/JSON);
  • iṣapeye ti ipaniyan ti awọn ikosile tabili ti o wọpọ (PẸLU);
  • atilẹyin fun awọn ọwọn ti ipilẹṣẹ

Agbegbe tun tẹsiwaju lati ṣiṣẹ lori extensibility ati igbẹkẹle ti PostgreSQL, idagbasoke atilẹyin fun kariaye, awọn agbara ijẹrisi, ati pese awọn ọna ti o rọrun lati ṣakoso eto naa.

Itusilẹ yii pẹlu imuse ti wiwo fun awọn ẹrọ ibi ipamọ pluggable, eyiti ngbanilaaye awọn olupilẹṣẹ lati ṣẹda awọn ọna ipamọ data tiwọn.

Awọn ilọsiwaju iṣẹ

PostgreSQL 12 pẹlu iṣẹ ṣiṣe pataki ati awọn ilọsiwaju itọju fun titọka ati awọn ọna ṣiṣe ipin.

Awọn atọka B-igi, iru atọka boṣewa ni PostgreSQL, ti jẹ iṣapeye ni ẹya 12 fun awọn iṣẹ ṣiṣe ti o kan awọn iyipada atọka loorekoore. Lilo ala-ilẹ TPC-C fun PostgreSQL 12 ṣe afihan aropin 40% idinku ni lilo aaye ati ilosoke gbogbogbo ni iṣẹ ṣiṣe ibeere.

Awọn ibeere ti o lodi si awọn tabili ipin ti gba awọn ilọsiwaju akiyesi, pataki fun awọn tabili ti o ni ẹgbẹẹgbẹrun awọn ipin ti o nilo ṣiṣẹ pẹlu awọn apakan lopin nikan ti awọn akopọ data. Iṣe ti fifi data kun si awọn tabili ti o pin nipa lilo INSERT ati COPY ti ni ilọsiwaju, bakanna bi agbara lati so ipin tuntun kan laisi awọn ibeere idilọwọ.

PostgreSQL 12 ti ṣe awọn ilọsiwaju afikun si titọka ti o ni ipa iṣẹ ṣiṣe gbogbogbo, pẹlu:

  • dinku lori nigbati o ba n ṣe ipilẹṣẹ WAL fun awọn oriṣi atọka GiST, GIN ati SP-GiST;
  • agbara lati ṣẹda ohun ti a npe ni awọn atọka ibora (INCLUDE clause) lori awọn atọka GiST;
  • agbara lati ṣe awọn ibeere “aládùúgbò to sunmọ” (iwadi k-NN) nipa lilo oniṣẹ ijinna (<->) ati lilo awọn atọka SP-GiST;
  • atilẹyin fun ikojọpọ awọn iṣiro iye ti o wọpọ julọ (MCV) ni lilo Awọn iṣiro CREATE, eyiti o ṣe iranlọwọ lati gba awọn ero ibeere ti o dara julọ nigba lilo awọn ọwọn ti awọn iye wọn pin kaakiri.

Akopọ JIT nipa lilo LLVM, ti a ṣe ni PostgreSQL 11, ti ṣiṣẹ ni bayi nipasẹ aiyipada. Akopọ JIT ṣe ilọsiwaju iṣẹ ṣiṣe nigbati o n ṣiṣẹ pẹlu awọn ikosile ni awọn gbolohun WHERE, awọn atokọ ibi-afẹde, awọn akojọpọ, ati diẹ ninu awọn iṣẹ inu. O wa ti o ba ti ṣajọ PostgreSQL pẹlu LLVM tabi ti o nlo package PostgreSQL ti a ṣe pẹlu LLVM ṣiṣẹ.

Awọn ilọsiwaju si awọn agbara ede SQL ati ibamu boṣewa

PostgreSQL 12 ṣe afihan agbara lati beere awọn iwe aṣẹ JSON nipa lilo awọn ikosile ọna JSON ti a ṣalaye ni boṣewa SQL/JSON. Iru awọn ibeere bẹẹ le lo awọn ilana atọka ti o wa tẹlẹ fun awọn iwe aṣẹ ti a fipamọ sinu ọna kika JSONB lati gba data daradara.

Awọn ikosile tabili ti o wọpọ, ti a tun mọ si WITH awọn ibeere, ni bayi ni a le ṣe adaṣe ni lilo aropo ni PostgreSQL 12, eyiti o le ṣe iranlọwọ lati mu ilọsiwaju iṣẹ ti ọpọlọpọ awọn ibeere ti o wa tẹlẹ. Ninu ẹya tuntun, apakan iyipada ti ibeere WITH le ṣee ṣe nikan ti ko ba jẹ loorekoore, ko ni awọn ipa ẹgbẹ, ati pe o tọka ni ẹẹkan ni apakan atẹle ti ibeere naa.

PostgreSQL 12 ṣafihan atilẹyin fun “awọn ọwọn ti ipilẹṣẹ”. Ti ṣe apejuwe ni boṣewa SQL, iru ọwọn yii ṣe iṣiro iye kan ti o da lori awọn akoonu ti awọn ọwọn miiran ni tabili kanna. Ninu ẹya yii, PostgreSQL ṣe atilẹyin “awọn ọwọn ti a ti ipilẹṣẹ ti o ti fipamọ”, nibiti iye iṣiro ti wa ni ipamọ sori disiki.

Iṣowo ilu okeere

PostgreSQL 12 faagun atilẹyin fun awọn akojọpọ ICU nipa gbigba awọn olumulo laaye lati ṣalaye “awọn akojọpọ ti kii ṣe ipinnu” eyiti o le, fun apẹẹrẹ, gba awọn afiwera-aibikita-ọrọ tabi asẹnti-aibikita.

Ijeri

PostgreSQL faagun atilẹyin rẹ fun awọn ọna ijẹrisi ti o lagbara pẹlu ọpọlọpọ awọn imudara ti o pese aabo afikun ati iṣẹ ṣiṣe. Itusilẹ yii ṣafihan ẹgbẹ-alabara ati fifi ẹnọ kọ nkan olupin-ẹgbẹ fun ijẹrisi lori awọn atọkun GSSAPI, bakanna bi agbara fun PostgreSQL lati ṣawari awọn olupin LDAP nigbati PostgreSQL ti ṣe akojọpọ pẹlu OpenLDAP.

Ni afikun, PostgreSQL 12 ni bayi ṣe atilẹyin aṣayan ijẹrisi ifosiwewe pupọ. Olupin PostgreSQL le nilo alabara ni bayi lati pese ijẹrisi SSL to wulo pẹlu orukọ olumulo ti o baamu nipa lilo clientcert=verify-ful, ati pe o darapọ eyi pẹlu ibeere ọna ijẹrisi lọtọ (fun apẹẹrẹ scram-sha-256).

Isakoso

PostgreSQL 12 ṣe afihan agbara lati ṣe awọn atunṣe atọka ti kii ṣe idinamọ nipa lilo pipaṣẹ REINDEX NIKAN. Eyi n gba awọn olumulo laaye lati yago fun akoko idaduro DBMS lakoko awọn atunṣe atọka gigun.

Ni afikun, ni PostgreSQL 12, o le mu ṣiṣẹ tabi mu awọn sọwedowo oju-iwe ṣiṣẹ ni iṣupọ tiipa ni lilo pipaṣẹ pg_checksums. Ni iṣaaju, awọn ayẹwo oju-iwe, ẹya ti o ṣe iranlọwọ lati rii daju iduroṣinṣin ti data ti o fipamọ sori disiki, le ṣee mu ṣiṣẹ nikan nigbati iṣupọ PostgreSQL ti bẹrẹ ni lilo initdb.

orisun: linux.org.ru

Fi ọrọìwòye kun