Rilascio del DBMS PostgreSQL 13

Dopo un anno di sviluppo è stata pubblicata nuovo ramo stabile del DBMS PostgreSQL 13. Aggiornamenti per il nuovo ramo usciranno per cinque anni fino a novembre 2025.

Principali novità:

  • supporto per l'interfaccia deduplicazione dei record negli indici B-tree, che ha migliorato le prestazioni delle query e ridotto consumo di spazio su disco durante l'indicizzazione di record con dati ripetuti. La deduplicazione avviene attraverso l'esecuzione periodica di un gestore che esegue la fusione di gruppi di tuple ripetute e sostituisce i duplicati con riferimenti a una copia archiviata.
  • Le prestazioni delle query in cui vengono utilizzate funzioni di aggregazione, set raggruppati (GROUPING SETS) o tabelle partizionate. Le ottimizzazioni riguardano l'uso di hash durante l'aggregazione invece dei dati effettivi, permettendo di evitare di caricare tutti i dati in memoria durante l'elaborazione di grandi query. Nella partizione, sono state ampliate le situazioni in cui le sezioni possono essere scartate o unite.
  • È stata aggiunta la possibilità di utilizzare statistiche avanzate, create utilizzando il comando «CREATE STATISTICS», per migliorare l'efficienza della pianificazione delle query che contengono condizioni «OR» o la ricerca in elenchi utilizzando espressioni «IN» o «ANY».
  • Accelerata la pulizia degli indici durante l'esecuzione dell'operazione VACUUM grazie alla parallelizzazione della raccolta dei rifiuti negli indici. Con il nuovo parametro «PARALLEL», l'amministratore può definire il numero di thread che verranno avviati contemporaneamente per il VACUUM. È stata aggiunta la possibilità di avviare automaticamente il VACUUM dopo l'inserimento dei dati.
  • Aggiunta la supporto per l'ordinamento incrementale, che consente di utilizzare dati ordinati in precedenza per accelerare l'ordinamento nelle fasi successive dell'elaborazione della query. Per attivare la nuova ottimizzazione nel pianificatore delle query è prevista l'impostazione «enable_incremental_sort», che è abilitata per impostazione predefinita.
  • Aggiunta la possibilità di limitare la dimensione degli slot di replica, che garantiscono in modo automatico la conservazione dei segmenti del log di scrittura anticipata (WAL) fino a quando non vengono ricevuti da tutti i server di riserva che accettano le repliche. Le slot di replica non permettono inoltre al server principale di eliminare le righe che potrebbero causare conflitti, anche se il server di riserva è disattivato. Grazie al parametro max_slot_wal_keep_size ora è possibile limitare la dimensione massima dei file WAL per prevenire l'esaurimento dello spazio su disco.
  • Le capacità di monitoraggio dell'attività del DBMS sono state ampliate: il comando EXPLAIN ora fornisce statistiche aggiuntive sull'uso del log WAL; in pg_basebackup è stata fornita la possibilità di monitorare lo stato dell'esecuzione dei backup continui; nel comando ANALYZE è stata implementata un'indicazione del progresso delle operazioni.
  • È stato aggiunto un nuovo comando pg_verifybackup per verificare l'integrità dei backup creati dal comando pg_basebackup.
  • Quando si lavora con JSON utilizzando gli operatori jsonpath è consentito l'uso della funzione datetime() per convertire i formati di data e ora (stringhe ISO 8601 e tipi di data e ora nativi di PostgreSQL). Ad esempio, è possibile utilizzare le costruzioni «jsonb_path_query(‘[“2015-8-1”, “2015-08-12”]’, ‘$[*] ? (@.datetime() < “2015-08-2”.datetime())')» e «jsonb_path_query_array('[“12:30”, “18:40”]', '$[*].datetime(“HH24:MI”)')».
  • È stata aggiunta la funzione integrata gen_random_uuid() per generare identificatori UUID v4.
  • Nel sistema di partizionamento è stata implementata la piena supporto per la replica logica e i trigger espressi con «BEFORE»
    che operano a livello di righe.
  • La sintassi «FETCH FIRST» ora consente l'uso dell'espressione «WITH TIES», che consente di restituire righe aggiuntive che si trovano alla fine del set di risultati, ottenuto dopo l'applicazione di «ORDER BY».
  • È stata implementata la concetto di estensioni fidate («trusted extension«), che possono essere installate da utenti normali senza diritti di amministratore del DBMS. L'elenco di tali estensioni è predefinito e può essere ampliato dall'utente super. Tra le estensioni fidate sono inclusi pgcrypto, tablefunc, hstore e così via.
  • Nel meccanismo di connessione delle tabelle esterne Foreign Data Wrapper (postgres_fdw) è stata implementata la supporto per l'autenticazione basata su certificati. Quando si utilizza l'autenticazione SCRAM, ai client è consentito richiedere la «bind del canale» (channel binding).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster