Il PostgreSQL Global Development Group ha presentato PostgreSQL 17, l’ultima iterazione di quello che è ampiamente considerato il database open-source più avanzato al mondo. Questa release segna una pietra miliare nell’evoluzione del database, apportando sostanziali miglioramenti alle prestazioni e nuove funzionalità che soddisfano le esigenze di gestione dei dati sia emergenti che consolidate.
PostgreSQL 17 si basa sulle sue solide fondamenta, offrendo prestazioni e scalabilità migliorate e adattandosi ai modelli di accesso e archiviazione dei dati contemporanei. L’aggiornamento introduce un sistema di gestione della memoria rinnovato per le operazioni di vuoto, ottimizzazioni per l’accesso allo storage e miglioramenti per i carichi di lavoro ad alta carenza. Gli utenti possono aspettarsi un caricamento e un’esportazione più veloci, oltre a miglioramenti nell’esecuzione delle query per gli indici.
“PostgreSQL 17 evidenzia come la comunità open-source globale, che guida lo sviluppo di PostgreSQL, crei miglioramenti che aiutano gli utenti in tutte le fasi del loro viaggio nei database”, ha dichiarato Jonathan Katz, membro del core team di PostgreSQL.
“Sia che si tratti di miglioramenti per la gestione dei database su scala, sia che si tratti di nuove funzionalità che si basano su una piacevole esperienza per gli sviluppatori, PostgreSQL 17 migliorerà la vostra esperienza di gestione dei dati”.
Una delle caratteristiche principali di questa versione è la significativa riduzione del consumo di memoria per i processi di vuoto. La nuova struttura della memoria interna utilizza fino a 20 volte meno memoria, rendendo più veloci le operazioni di vuoto e liberando risorse per altre attività.
I carichi di lavoro a elevata concurrency possono beneficiare di un throughput di scrittura fino a due volte superiore, grazie ai miglioramenti apportati all’elaborazione dei log write-ahead (WAL). L’introduzione di un’interfaccia di I/O in streaming accelera le scansioni sequenziali e le operazioni di ANALYZE, aumentando ulteriormente le prestazioni complessive.
L’esecuzione delle query vede notevoli miglioramenti, in particolare per le query con clausole IN che utilizzano indici B-tree. La release introduce anche build parallele per gli indici BRIN e incorpora il supporto SIMD (Single Instruction/Multiple Data) per accelerare alcuni calcoli.
Per gli sviluppatori, PostgreSQL 17 espande le sue capacità JSON con l’aggiunta di JSON_TABLE, che consente la conversione di dati JSON in tabelle PostgreSQL standard. La release introduce anche costruttori e funzioni di query SQL/JSON, garantendo una maggiore flessibilità nella gestione dei dati JSON.
Il caricamento in blocco e l’esportazione dei dati ricevono un incremento delle prestazioni, con il comando COPY che raggiunge il doppio della velocità per l’esportazione di righe di grandi dimensioni. Una nuova opzione ON_ERROR consente di continuare le importazioni anche in caso di errori di inserimento, migliorando i processi di migrazione dei dati.
La replica logica, fondamentale per lo streaming dei dati in tempo reale, viene migliorata in modo significativo. Gli utenti possono ora eseguire aggiornamenti di versione importanti senza abbandonare gli slot di replica logica, semplificando il processo di aggiornamento. L’introduzione del controllo di failover per la replica logica migliora la resilienza negli ambienti ad alta disponibilità.
Anche la sicurezza e la gestione operativa ricevono attenzione in questa release. Una nuova opzione TLS, sslnegotiation, supporta gli handshake TLS diretti utilizzando ALPN. L’aggiunta del ruolo predefinito pg_maintain garantisce agli utenti il permesso di eseguire operazioni di manutenzione senza l’accesso completo come superutente.
Le funzionalità di backup sono state ampliate con pg_basebackup che ora supporta backup incrementali, integrati dalla nuova utility pg_combinebackup per la ricostruzione di backup completi.
Le funzionalità di monitoraggio e analisi sono state migliorate, con EXPLAIN che ora mostra il tempo speso nelle operazioni di I/O locale e nuove opzioni per esaminare il tempo di conversione dei dati e l’utilizzo della memoria. La possibilità di monitorare l’avanzamento dell’aspirapolvere degli indici e una nuova vista di sistema per gli eventi di attesa della sessione forniscono una visione più approfondita delle operazioni del database.
La continua evoluzione di PostgreSQL riflette il suo status di database relazionale open-source preferito dalle organizzazioni di tutte le dimensioni. Con i suoi 25 anni di storia di sviluppo open-source e una comunità globale dedicata, PostgreSQL 17 rappresenta un ulteriore balzo in avanti nella tecnologia di gestione dei dati.