Rilaxx ta' PostgreSQL 12 DBMS

Wara sena ta 'żvilupp ippubblikat fergħa stabbli ġdida tad-DBMS PostgreSQL 12. Aġġornamenti għall-fergħa l-ġdida se toħroġ għal ħames snin sa Novembru 2024.

Il-prinċipali innovazzjonijiet:

  • Appoġġ miżjud għal "kolonni ġġenerati", li l-valur tiegħu huwa kkalkulat abbażi ta' espressjoni li tkopri l-valuri ta' kolonni oħra fl-istess tabella (simili għall-veduti, iżda għal kolonni individwali). Il-kolonni ġenerati jistgħu jkunu ta 'żewġ tipi - maħżuna u virtwali. Fl-ewwel każ, il-valur huwa kkalkulat fil-ħin li d-data hija miżjuda jew mibdula, u fit-tieni każ, il-valur huwa kkalkulat fuq kull qari bbażat fuq l-istat attwali ta 'kolonni oħra. Bħalissa, PostgreSQL jappoġġja biss kolonni iġġenerati maħżuna;
  • Miżjud il-kapaċità li mistoqsija data minn dokumenti JSON bl-użu Espressjonijiet mogħdija, reminixxenti XPath u definiti fl-istandard SQL/JSON. Mekkaniżmi ta' indiċjar eżistenti jintużaw biex itejbu l-effiċjenza tal-ipproċessar ta' tali espressjonijiet għal dokumenti maħżuna fil-format JSONB;
  • Ippermettiet awtomatikament huwa l-użu ta 'kompilatur JIT (Just-in-Time) ibbażat fuq żviluppi LLVM biex titħaffef l-eżekuzzjoni ta' xi espressjonijiet waqt l-ipproċessar tal-mistoqsijiet SQL. Pereżempju, JIT jintuża biex iħaffef l-eżekuzzjoni ta 'espressjonijiet ġewwa blokki WHERE, listi ta' mira, espressjonijiet aggregati, u xi operazzjonijiet interni;
  • Il-prestazzjoni tal-indiċjar tjiebet b'mod sinifikanti. L-indiċijiet tas-siġra B huma ottimizzati biex jaħdmu f'ambjenti fejn l-indiċijiet jinbidlu ta 'spiss - It-testijiet TPC-C juru żieda ġenerali fil-prestazzjoni u tnaqqis medju fil-konsum tal-ispazju tad-disk ta' 40%. Overhead imnaqqas meta tiġġenera log write-ahead (WAL) għal tipi ta' indiċi GiST, GIN u SP-GiST. Għal GiST, ġiet miżjuda l-abbiltà li jinħolqu indiċi ta' wrapper (permezz tal-espressjoni INCLUDE) li jinkludu kolonni addizzjonali. Fl-operat ĦOLQOQ STATISTIKA L-appoġġ għall-iktar statistika tal-valur komuni (MCV) huwa pprovdut biex jgħin jiġġenera pjanijiet ta’ mistoqsijiet aktar ottimali meta jintużaw kolonni mqassma b’mod mhux uniformi.
  • L-implimentazzjoni tal-qsim hija ottimizzata għal mistoqsijiet li jkopru tabelli b'eluf ta 'diviżorji, iżda huma limitati għall-għażla ta' sottosett limitat ta 'dejta. Il-prestazzjoni taż-żieda tad-dejta ma 'tabelli diviżorji bl-użu ta' operazzjonijiet INSERT u KOPJA żdiedet, u huwa wkoll possibbli li jiżdiedu sezzjonijiet ġodda permezz ta '"ALTER TABLE ATTACH PARTITION" mingħajr ma timblokka l-eżekuzzjoni tal-mistoqsija;
  • Appoġġ miżjud għall-espansjoni awtomatika inline ta' espressjonijiet ta' tabella ġeneralizzati (Espressjoni tal-Tabella Komuni, CTE) li jippermettu l-użu ta' settijiet ta' riżultati msemmija temporanji speċifikati bl-użu tad-dikjarazzjoni WITH. L-iskjerament inline jista' jtejjeb il-prestazzjoni tal-biċċa l-kbira tal-mistoqsijiet, iżda bħalissa jintuża biss għal CTEs mhux rikursivi;
  • Appoġġ miżjud mhux deterministiku proprjetajiet tal-lokal "Collation", li jippermettilek li tissettja regoli ta' għażla u metodi ta' tqabbil b'kont meħud tat-tifsira tal-karattri (per eżempju, meta tissortja valuri diġitali, il-preżenza ta' minus u tikka quddiem numru u tipi differenti tal-ortografija jitqiesu, u meta jitqabblu, il-każ tal-karattri u l-preżenza ta’ marka tal-aċċent ma jiġux ikkunsidrati);
  • Appoġġ miżjud għall-awtentikazzjoni tal-klijenti b'ħafna fatturi, li fih f'pg_hba.conf tista 'tgħaqqad l-awtentikazzjoni taċ-ċertifikat SSL (clientcert=verify-full) ma' metodu ta 'awtentikazzjoni addizzjonali bħal scram-sha-256 għall-awtentikazzjoni;
  • Appoġġ miżjud għall-encryption tal-kanal ta 'komunikazzjoni meta awtentika permezz GSSAPI, kemm fuq in-naħa tal-klijent kif ukoll fuq in-naħa tas-server;
  • Appoġġ miżjud għad-determinazzjoni ta 'servers LDAP ibbażati fuq rekords "DNS SRV" jekk PostgreSQL huwa mibni b'OpenLDAP;
  • Operazzjoni miżjuda "REINDIĊĊA FIL-KORRENT» biex jerġgħu jinbnew l-indiċi mingħajr ma jimblokka l-operazzjonijiet tal-kitba fl-indiċi;
  • Tim miżjud pg_checkssums, li jippermettilek li tippermetti jew tiddiżattiva checksums ta 'kontroll ta' paġni tad-dejta għal database eżistenti (preċedentement din l-operazzjoni kienet appoġġjata biss waqt l-inizjalizzazzjoni tad-database);
  • Ipprovdut output ta 'indikatur ta' progress għall-operazzjonijiet CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL u pg_checksums;
  • Kmand miżjud "OĦLOQ METODU TA' AĊĊESS» biex tgħaqqad handlers għal metodi ġodda ta 'ħażna tal-mejda ottimizzati għal diversi kompiti speċifiċi. Bħalissa l-uniku metodu ta 'aċċess għall-mejda integrat huwa "heap";
  • Il-fajl tal-konfigurazzjoni recovery.conf ġie magħqud ma' postgresql.conf. Bħala indikaturi ta 'tranżizzjoni għall-istat ta' rkupru wara falliment, issa għandu jkun uża fajls recovery.signal u standby.signal.

Sors: opennet.ru

Żid kumment