Lansarea SGBD PostgreSQL 12

După un an de dezvoltare publicată noua ramură stabilă a SGBD-ului PostgreSQL 12. Actualizările pentru noua ramură vor fi lansate pe parcursul a cinci ani până în noiembrie 2024.

Principalele noutăți:

  • A fost adăugată suportul pentru „coloane generate„, ale căror valori sunt calculate pe baza unei expresii care acoperă valorile altor coloane din aceeași tabelă (analog cu vizualizările, dar pentru coloane individuale). Coloanele generate pot fi de două tipuri — stocate și virtuale. În primul caz, valoarea este calculată în momentul adăugării sau modificării datelor, iar în al doilea — la fiecare citire pe baza stării curente a altor coloane. În prezent, PostgreSQL suportă doar coloane generate stocate;
  • A fost adăugată posibilitatea de a efectua interogări de date din documente JSON prin intermediul exprimărilor Path, asemănătoare XPath și definite în standardul SQL/JSON. Pentru a îmbunătăți eficiența procesării acestor expresii pentru documentele stocate în format JSONB, sunt aplicate mecanismele existente de indexare;
  • Aplicarea compilatorului JIT (Just-in-Time) este activată implicit, bazată pe tehnologiile LLVM, pentru a accelera execuția unor expresii în timpul procesării interogărilor SQL. De exemplu, JIT poate fi utilizat pentru a accelera execuția expresiilor din blocurile „WHERE”, din listele de ieșire (target lists), expresiile agregate și unele operațiuni interne;
  • Performanța indexării a fost semnificativ crescută. Indicii B-tree sunt optimizați pentru a funcționa în condiții de modificări frecvente ale indicilor — în testele TPC-C se observă o creștere generală a performanței și o reducere a consumului de spațiu pe disc cu o medie de 40%. Hârtia de log pentru scriere anticipată (WAL) a fost redusă pentru tipurile de indici GiST, GIN și SP-GiST. Pentru GiST, a fost adăugată posibilitatea de a crea indici-wrapper (prin expresia INCLUDE), care includ coloane suplimentare. În operația CREATE STATISTICS a fost asigurată suportul pentru statisticile privind cele mai tipice valori (MCV), permițând generarea unor planuri de interogare mai optime atunci când se utilizează coloane distribuite neuniform;
  • Implementarea secționării (partiționării) a fost optimizată pentru interogări care acoperă tabele cu mii de secțiuni, dar se limitează la extragerea unui subset restrâns de date. Performanța adăugării de date în tabelele secționate a fost îmbunătățită prin operații INSERT și COPY, iar posibilitatea de a adăuga noi secțiuni prin „ALTER TABLE ATTACH PARTITION” este disponibilă fără a bloca execuția interogărilor;
  • A fost adăugată suport pentru desfășurarea inline automată a expresiilor tabelare generalizate (Common Table Expression, CTE), care permit utilizarea seturilor de rezultate temporare numite, definite prin operatorul WITH. Desfășurarea inline îmbunătățește performanța celor mai multe interogări, dar este aplicată deocamdată doar pentru CTE nerrecursive;
  • A fost adăugat suport pentru nedeterminată proprietăți ale localizării „Collation”, care permit stabilirea regulilor de sortare și a metodelor de comparare având în vedere semnificația simbolurilor (de exemplu, atunci când se sortează valori numerice, se ține cont de prezența semnului minus și a punctului înainte de număr și de diferite stiluri de scriere, iar la comparare nu se ia în considerare cazul literelor și prezența diacriticelor);
  • A fost adăugată suport pentru autentificarea multifactorială a clientului, în care în pg_hba.conf, pot fi combinate autentificarea prin certificat SSL (clientcert=verify-full) cu o metodă suplimentară de autentificare, cum ar fi scram-sha-256;
  • A fost adăugată suport pentru criptarea canalului de comunicație în timpul autentificării prin GSSAPI, atât pe partea clientului, cât și pe partea serverului;
  • A fost adăugată suport pentru definirea serverelor LDAP bazate pe înregistrările „DNS SRV”, dacă PostgreSQL a fost compilat cu OpenLDAP;
  • A fost adăugată operațiunea „REINDEX CONCURRENTLY” pentru reconstruirea indexurilor fără a bloca operațiile de scriere în index;
  • A fost adăugată comanda pg_checksums, care permite pentru o bază de date existentă activarea și dezactivarea verificării sumelor de control ale paginilor de date (anterior, această operațiune era suportată doar în timpul inițializării bazei de date);
  • A fost asigurată afișarea unui indicator de progres pentru operațiile CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL și pg_checksums;
  • A fost adăugată comanda „CREATE ACCESS METHOD” pentru conectarea procesatorilor de noi metode de stocare a tabelelor, optimizate pentru diferite sarcini specifice. În prezent, singura metodă de acces încorporată la tabele este „heap”;
  • Fișierul de configurare recovery.conf a fost combinat cu postgresql.conf. Indicatoarele pentru trecerea în starea de recuperare după o eroare sunt acum urmărește folosite fișierele recovery.signal și standby.signal.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster