Așa cum a fost prezentat an de an între septembrie și octombrie, Lansarea noii versiuni de PostgreSQL 17 a fost anunțată și ca în toate versiunile anterioare, Prioritatea rămâne îmbunătățirea performanței și optimizările de resurse, în special pentru operațiuni precum VACUUM, I/O și interogări, în timp ce cea mai importantă caracteristică nouă a acestei ediții este backup-ul incremental.
Pentru utilizatorii de afaceri, actualizarea aduce o serie de îmbunătățiri care simplifică gestionarea și utilizarea bazei de date. Deși PostgreSQL a fost din punct de vedere istoric o bază de date relațională, această versiune își extinde integrarea cu funcționalitate avansată pentru lucrul cu documente JSON, o caracteristică asociată în mod obișnuit cu MongoDB Atlas.
Ce este nou în PostgreSQL 17
În această nouă versiune a PostgreSQL 17 care este prezentată, a nouă structură de date în operarea VACUUM, ceea ce reduce consumul de memorie de până la 20 de ori, permițând acestor operațiuni să fie mai rapide și mai eficiente în ceea ce privește resursele partajate.
Din partea Îmbunătățiri de performanță, gestionare a jurnalelor de rescriere (WAL) a fost optimizat, atingând performanța de scriere de până la două ori mai mare pe sistemele cu multe interogări simultane. S-a propus a Interfață I/O de streaming pentru a îmbunătăți căutarea secvențială si actualizarea statisticilor dupa efectuarea operatiei ANALYZE.
Pe lângă aceasta, au fost implementate îmbunătățiri în interogările cu clauze „IN”. prin utilizarea indicilor B-tree, precum și construcția paralelă a indicilor BRIN au fost implementate, s-au optimizat verificările „NOT NULL” și s-a accelerat procesarea expresiilor comune de tabel (CTE) și pentru calcule intensive s-au încorporat SIMD instrucțiuni, cum ar fi AVX-512, pentru a accelera operațiuni precum funcția `bit_count`.
O altă noutate care iese în evidență este funcții noi pentru JSON, întrucât Utilizatorii pot acum interoga tipurile de date JSON folosind comenzi SQL standard. Acest lucru este posibil datorită noii funcționalități de masă json, care transformă datele JSON într-o structură tabelară. De acolo, utilizatorii pot face interogări folosind clauza FROM în SQL, permițând returnarea datelor într-un format relațional. S-a adăugat funcția `JSON_TABLE` pentru a converti datele JSON în tabele standard PostgreSQL.
The nouă funcționalitate de backup incrementală în PostgreSQL 17 că vă permite să faceți copii de rezervă numai pentru modificările efectuate de la ultima copie de rezervă completă sau incrementală, ceea ce optimizează utilizarea lățimii de bandă și reduce stocarea. Deși PostgreSQL a oferit deja soluții precum WAL Archiving, care a replicat jurnalul write-ahead (WAL) pentru a menține secțiunile necesare ale bazei de date, versiunea 17 introduce pentru prima dată un mecanism nativ pentru efectuarea de copii incrementale. Acest sistem nu numai că minimizează întreruperile în timpul funcționării, având un impact mai mic asupra performanței, dar și reduce semnificativ timpul de recuperare, un aspect cheie, deoarece restaurarea backup-urilor este de obicei un proces lent și îngrijorător pentru utilizatori.
Motor independent de platformă implementat pentru a procesa proprietățile locale, permițând un comportament consistent în ordonarea rezultatelor interogării. Acest motor ia în considerare factori precum prezența caracterelor speciale și sensibilitatea majusculelor la sortarea valorilor. Mecanismul de replicare logică simplifică acum procesul de actualizare a bazei de date fără a fi nevoie de a șterge sloturile de replicare logică sau de a resincroniza datele atunci când se migrează la o versiune nouă.
Dintre alte schimbări care se remarcă:
- Exportarea șirurilor lungi cu comanda „COPY” a fost accelerată de până la două ori.
- Copiere optimizată atunci când codificările sursă și destinație se potrivesc.
- Opțiunea `ON_ERROR` a fost adăugată pentru a permite continuarea importului, în ciuda erorilor la inserarea datelor.
- S-a adăugat posibilitatea de a utiliza coloane cu identificatori unici în tabelele partiționate.
- A implementat o caracteristică de failover pentru a comuta la un server de rezervă în configurații tolerante la erori.
- S-a adăugat un nou utilitar pg_createsubscriber pentru a converti o replică fizică într-o replică logică.
- A introdus opțiunea „sslnegotiation” pentru a negocia conexiuni TLS securizate direct folosind extensia ALPN TLS.
- S-a adăugat rolul predefinit pg_maintain, care oferă utilizatorilor dreptul de a efectua operațiuni legate de întreținerea DBMS
În cele din urmă, dacă sunteți interesat să aflați mai multe despre aceasta, puteți consulta detaliile În următorul link.