După un an de dezvoltare noua ramură stabilă a SGBD-ului . Actualizări pentru noua ramură pe o perioadă de cinci ani până în noiembrie 2025.
:
- Implementată înregistrărilor din indecșii B-tree, care a permis creșterea performanței interogărilor și reducerea consumului de spațiu pe disc în timpul indecșierii înregistrărilor cu date redundante. Deduplicarea se realizează prin lansarea periodică a unui procesor care efectuează fuziunea grupurilor de tuple redundante și înlocuirea duplicatelor cu referințe la o copie stocată.
- A fost îmbunătățită performanța interogărilor care utilizează , (GROUPING SETS) sau (partiționate). Optimizările sunt legate de utilizarea hash-urilor în locul datelor efective la agregare, ceea ce permite evitarea plasării tuturor datelor în memorie în timpul procesării interogărilor mari. La partiționare, au fost extinse situațiile în care secțiunile pot fi abandonate sau combinate.
- A fost adăugată posibilitatea de a folosi , generate prin utilizarea comenzii „CREATE STATISTICS”, pentru a îmbunătăți eficiența planificării interogărilor care conțin condiții „OR” sau căutări în liste utilizând expresii „IN” sau „ANY”.
- A fost accelerată curățarea indecșilor în timpul operației datorită paralelizării colectării deșeurilor în indecși. Cu ajutorul noului parametru „PARALLEL”, administratorul poate stabili numărul de fire care vor fi lansate simultan pentru VACUUM. A fost adăugată posibilitatea inițierii automată a execuției VACUUM după inserarea datelor.
- A fost adăugată suportul pentru sortarea incrementală, permițând utilizarea datelor sortate în etapa anterioară pentru a accelera sortarea în etapele ulterioare ale procesării interogării. Pentru a activa noua optimizare în planificatorul de interogări, a fost prevăzută setarea „„, care este activată implicit.
- A fost adăugată posibilitatea de a limita dimensiunea , care permit în mod automat garantarea menținerii segmentelor jurnalului de scriere amânată (WAL) până când acestea sunt obținute de toate serverele secundare care primesc replici. Sloturile de replicare împiedică, de asemenea, serverul principal să șteargă rândurile care ar putea duce la conflicte, chiar dacă serverul secundar este deconectat. Cu ajutorul parametrului Acum se poate limita dimensiunea maximă a fișierelor WAL pentru a preveni epuizarea spațiului pe disc.
- Au fost extinse capacitățile de monitorizare a activității SGBD-ului: în comanda EXPLAIN se afișează statistici suplimentare privind utilizarea jurnalului WAL; în s-a oferit posibilitatea de a urmări starea execuției backup-urilor continue; în comanda ANALYZE a fost implementată indicarea progresului în execuția operației.
- A fost adăugată o nouă comandă pentru verificarea integrității backup-urilor create de comanda pg_basebackup.
- Când se lucrează cu JSON folosind operatorii este permisă utilizarea funcției datetime() pentru a transforma formatele de timp (șiruri ISO 8601 și tipuri native de timp PostgreSQL). De exemplu, se pot folosi construcții precum „jsonb_path_query(‘["2015-8-1", "2015-08-12"]’, ‘$[*] ? (@.datetime() < "2015-08-2".datetime())')" și "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
- A fost adăugată funcția încorporată pentru generarea identificatorilor UUID v4.
- În sistemul de partiționare, s-a implementat suport complet pentru replicarea logică și pentru trigger-ele definite prin expresia „BEFORE”
, care funcționează la nivel de rânduri. - Sintaxa „” permite acum utilizarea expresiei „WITH TIES”, care permite returnarea unor rânduri suplimentare aflate la finalul setului de rezultate obținut după aplicarea „ORDER BY”.
- A fost implementat conceptul de extensii de încredere („”), care pot fi instalate de utilizatori obișnuiți, fără privilegii de administrator SGBD. Lista acestor extensii este prestabilită și poate fi extinsă de superutilizator. Printre extensiile de încredere se numără , , etc.
- În mecanismul de conectare a tabelelor externe Foreign Data Wrapper (postgres_fdw) a fost implementat suportul pentru autentificarea bazată pe certificate. Când se folosește autentificarea SCRAM, clienții au permisiunea de a solicita „” (channel binding).
Sursa: opennet.ro
