PostgreSQL 12 DBMS idasilẹ

Lẹhin ọdun kan ti idagbasoke atejade Ẹka iduroṣinṣin tuntun ti PostgreSQL 12 DBMS. Awọn imudojuiwọn fun ẹka tuntun yoo jade fun ọdun marun titi di Oṣu kọkanla ọdun 2024.

akọkọ awọn imotuntun:

  • Ṣe afikun atilẹyin fun "ti ipilẹṣẹ ọwọn", iye eyiti o da lori ikosile ti o bo awọn iye ti awọn ọwọn miiran ni tabili kanna (bii awọn iwo, ṣugbọn fun awọn ọwọn kọọkan). Awọn ọwọn ti ipilẹṣẹ le jẹ ti awọn oriṣi meji - ti o fipamọ ati foju. Ni akọkọ idi, iye ti wa ni iṣiro ni akoko data ti wa ni afikun tabi yi pada, ati ninu awọn keji nla, awọn iye ti wa ni iṣiro lori kọọkan kika da lori awọn ti isiyi ipo ti awọn miiran ọwọn. Lọwọlọwọ, PostgreSQL ṣe atilẹyin awọn ọwọn ti ipilẹṣẹ ti o fipamọ;
  • Ṣe afikun agbara lati beere data lati awọn iwe aṣẹ JSON nipa lilo Awọn ifarahan ọna, leti XPath ati asọye ni boṣewa SQL/JSON. Awọn ọna ṣiṣe itọka ti o wa tẹlẹ ni a lo lati mu ilọsiwaju ti sisẹ iru awọn ikosile fun awọn iwe aṣẹ ti a fipamọ sinu ọna kika JSONB;
  • Ṣiṣẹ nipasẹ aiyipada ni lilo akojọpọ JIT kan (O kan-ni-Aago) ti o da lori awọn idagbasoke LLVM lati yara ipaniyan ti diẹ ninu awọn ikosile lakoko ṣiṣe ibeere SQL. Fun apẹẹrẹ, JIT ni a lo lati ṣe iyara ipaniyan ti awọn ikosile inu NIBI awọn bulọọki, awọn atokọ ibi-afẹde, awọn ikosile apapọ, ati diẹ ninu awọn iṣẹ inu;
  • Iṣẹ ṣiṣe atọka ti ni ilọsiwaju ni pataki. Awọn atọka B-igi jẹ iṣapeye lati ṣiṣẹ ni awọn agbegbe nibiti awọn atọka ṣe yipada nigbagbogbo - Awọn idanwo TPC-C ṣe afihan ilosoke lapapọ ninu iṣẹ ati idinku aropin ni agbara aaye disk ti 40%. Dinku si oke nigbati o ba ṣẹda iwe kikọ-iwaju (WAL) fun awọn oriṣi atọka GiST, GIN ati SP-GiST. Fun GiST, agbara lati ṣẹda awọn atọka ipari (nipasẹ ikosile INCLUDE) ti o pẹlu awọn ọwọn afikun ti ni afikun. Ni isẹ Ṣẹda Awọn iṣiro Pese atilẹyin fun Awọn iṣiro Iye Wọpọ julọ (MCV) lati ṣe agbekalẹ awọn ero ibeere ti aipe diẹ sii nigba lilo awọn ọwọn ti a pin lainidi;
  • Imuse ipin jẹ iṣapeye fun awọn ibeere ti o tan awọn tabili pẹlu ẹgbẹẹgbẹrun awọn ipin, ṣugbọn o ni opin si yiyan ipin ti data to lopin. Iṣe ti fifi data kun si awọn tabili ti o pin nipa lilo awọn iṣẹ INSERT ati COPY ti pọ si, ati pe o tun ṣee ṣe lati ṣafikun awọn apakan tuntun nipasẹ “ALTER TABLE ATTACH PARTITION” laisi idilọwọ ipaniyan ibeere;
  • Atilẹyin ti a ṣafikun fun imugboroja laini aifọwọyi ti awọn ikosile tabili gbogbogbo (Wọpọ Table Ikosile, CTE) ti o gba laaye lilo awọn eto abajade oniwa fun igba diẹ ti a sọ nipa lilo alaye WITH. Ifilọlẹ inline le mu iṣẹ ṣiṣe ti awọn ibeere pupọ pọ si, ṣugbọn o lo lọwọlọwọ nikan fun awọn CTE ti kii ṣe loorekoore;
  • Atilẹyin ti a ṣafikun ti kii-deterministic Awọn ohun-ini ti agbegbe “Collation”, eyiti o fun ọ laaye lati ṣeto awọn ofin yiyan ati awọn ọna ibaamu ni akiyesi itumọ awọn ohun kikọ (fun apẹẹrẹ, nigba tito awọn iye oni-nọmba, wiwa iyokuro ati aami kan ni iwaju nọmba kan ati awọn oriṣi oriṣiriṣi. ti Akọtọ ni a ṣe akiyesi, ati nigbati o ba ṣe afiwe, ọran ti awọn kikọ ati wiwa ami ami asẹnti ko ṣe akiyesi);
  • Atilẹyin ti a ṣafikun fun ijẹrisi alabara-ọpọlọpọ, ninu eyiti ninu pg_hba.conf o le ṣajọpọ ijẹrisi ijẹrisi SSL (clientcert=verify-full) pẹlu ọna ijẹrisi afikun bii scram-sha-256 fun ijẹrisi;
  • Atilẹyin ti a ṣafikun fun fifi ẹnọ kọ nkan ti ikanni ibaraẹnisọrọ nigbati o jẹri nipasẹ GSSAPI, mejeeji ni ẹgbẹ alabara ati ni ẹgbẹ olupin;
  • Atilẹyin ti a ṣafikun fun ṣiṣe ipinnu awọn olupin LDAP ti o da lori awọn igbasilẹ “DNS SRV” ti PostgreSQL ba kọ pẹlu OpenLDAP;
  • Iṣẹ ṣiṣe ti a ṣafikun "REINDEX ni igbakanna»lati tun awọn atọka ṣe laisi idilọwọ awọn iṣẹ kikọ si atọka;
  • Egbe kun pg_checksums, eyiti o fun ọ laaye lati mu ṣiṣẹ tabi mu awọn ayẹwo ayẹwo ti awọn oju-iwe data silẹ fun ibi ipamọ data ti o wa tẹlẹ (tẹlẹ iṣẹ yii ni atilẹyin nikan lakoko ipilẹṣẹ data);
  • Ti a pese ti itọka ilọsiwaju fun awọn iṣẹ CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL ati pg_checksums;
  • Aṣẹ ti a fi kun"Ṣẹda ỌNA Wiwọle»Lati sopọ awọn olutọju fun awọn ọna ipamọ tabili titun iṣapeye fun ọpọlọpọ awọn iṣẹ ṣiṣe kan pato. Lọwọlọwọ ọna iwọle tabili nikan ti a ṣe sinu jẹ “okiti”;
  • Faili atunto recovery.conf ti dapọ pẹlu postgresql.conf. Gẹgẹbi awọn itọkasi iyipada si ipo imularada lẹhin ikuna, ni bayi yẹ lo recovery.signal ati standby.signal awọn faili.

orisun: opennet.ru

Fi ọrọìwòye kun