PostgreSQL 17 apporta grandi miglioramenti alle prestazioni, nuovo backup incrementale e altro ancora

PostgreSQL 17

Come si è presentato anno dopo anno tra settembre e ottobre, È stato annunciato il lancio della nuova versione di PostgreSQL 17 e come in tutte le versioni precedenti, La priorità resta il miglioramento e l'ottimizzazione delle prestazioni di risorse, soprattutto per operazioni quali VACUUM, I/O e query, mentre la novità più importante di questa versione è il backup incrementale.

Per gli utenti aziendali, l'aggiornamento apporta una serie di miglioramenti che semplificano la gestione e l'utilizzo del database. Sebbene PostgreSQL sia stato storicamente un database relazionale, questa versione espande la sua integrazione con funzionalità avanzate per lavorare con documenti JSON, una funzionalità comunemente associata a MongoDB Atlas.

Novità di PostgreSQL 17

In questa nuova versione di PostgreSQL 17 presentata, a nuova struttura dati nel funzionamento VACUUM, che riduce il consumo di memoria fino a 20 volte, consentendo a queste operazioni di essere più veloci ed efficienti in termini di risorse condivise.

Da parte di miglioramenti delle prestazioni, gestione del registro di writeback (WAL) è stato ottimizzato, ottenendo fino a due volte le prestazioni di scrittura su sistemi con molte query simultanee. È stato proposto a Interfaccia Streaming I/O per migliorare la ricerca sequenziale e aggiornare le statistiche dopo aver eseguito l'operazione ANALISI.

Inoltre, sono stati implementati miglioramenti nelle query con clausole "IN". utilizzando indici B-tree, è stata implementata la costruzione parallela degli indici BRIN, sono stati ottimizzati i controlli "NOT NULL" ed è stata accelerata l'elaborazione delle espressioni di tabella comuni (CTE) e per i calcoli intensivi, hanno incorporato SIMD istruzioni, come AVX-512, per velocizzare operazioni come la funzione `bit_count`.

Un'altra novità che spicca è la nuove funzionalità per JSON, da Gli utenti possono ora eseguire query sui tipi di dati JSON utilizzando comandi SQL standard. Ciò è possibile grazie alla nuova funzionalità della tabella json, che trasforma i dati JSON in una struttura tabellare. Da lì, gli utenti possono effettuare query utilizzando la clausola FROM in SQL, consentendo la restituzione dei dati in un formato relazionale. Aggiunta la funzione "JSON_TABLE" per convertire i dati JSON in tabelle PostgreSQL standard.

Il nuova funzionalità di backup incrementale in PostgreSQL 17 quello consente di eseguire il backup solo delle modifiche apportate dall'ultimo backup completo o incrementale, che ottimizza l'utilizzo della larghezza di banda e riduce lo spazio di archiviazione. Sebbene PostgreSQL offrisse già soluzioni come WAL Archiving, che replicava il log write-ahead (WAL) per mantenere le sezioni necessarie del database, la versione 17 introduce per la prima volta un meccanismo nativo per eseguire copie incrementali. Questo sistema non solo riduce al minimo le interruzioni durante il funzionamento avendo un impatto minore sulle prestazioni, ma riduce anche significativamente i tempi di ripristino, un aspetto fondamentale poiché il ripristino dei backup è solitamente un processo lento e preoccupante per gli utenti.

Motore indipendente dalla piattaforma implementato per elaborare le proprietà locali, consentendo un comportamento coerente nell'ordinamento dei risultati della query. Questo motore tiene conto di fattori quali la presenza di caratteri speciali e la distinzione tra maiuscole e minuscole durante l'ordinamento dei valori. Il meccanismo di replica logica ora semplifica il processo di aggiornamento del database senza la necessità di eliminare slot di replica logica o risincronizzare i dati durante la migrazione a una nuova versione.

Del altri cambiamenti che risaltano:

  • L'esportazione di stringhe lunghe con il comando "COPY" è stata accelerata fino a due volte.
  • Copia ottimizzata quando le codifiche di origine e di destinazione corrispondono.
  • È stata aggiunta l'opzione `ON_ERROR` per consentire l'importazione di continuare nonostante errori nell'inserimento dei dati.
  • Aggiunta la possibilità di utilizzare colonne con identificatori univoci nelle tabelle partizionate.
  • Implementata una funzionalità di failover per passare a un server di backup in configurazioni con tolleranza agli errori.
  • Aggiunta una nuova utilità pg_createsubscriber per convertire una replica fisica in una replica logica.
  • Introdotta l'opzione “sslnegotiation” per negoziare connessioni TLS sicure direttamente utilizzando l'estensione ALPN TLS.
  • Aggiunto il ruolo predefinito pg_maintain, che dà agli utenti il ​​diritto di eseguire operazioni relative alla manutenzione del DBMS

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Aggiungi come fonte preferita in Google