Rilascio del DBMS PostgreSQL 13

Dopo un anno di sviluppo pubblicata nuova ramificazione stabile del DBMS PostgreSQL 13. Aggiornamenti per la nuova ramificazione usciranno fino a novembre 2025.

Principali novità:

  • Implementato deduplicazione di record negli indici B-tree, che ha aumentato le prestazioni delle query e ridotto l'uso dello spazio su disco durante l'indicizzazione di record con dati ripetuti. La deduplicazione avviene tramite l'esecuzione periodica di un processo che unisce gruppi di tuple ripetute e sostituisce i duplicati con riferimenti a una singola copia memorizzata.
  • Migliorate le prestazioni delle query che utilizzano funzioni aggregate, insiemi raggruppati (GROUPING SETS) o tabelle partizionate. Le ottimizzazioni sono legate all'uso di hash durante l'aggregazione invece dei dati effettivi, evitando così il caricamento di tutti i dati in memoria durante l'elaborazione di query di grandi dimensioni. Con la partizionatura è aumentato il numero di situazioni in cui le partizioni possono essere eliminate o unite.
  • È stata aggiunta la possibilità di utilizzare statistiche avanzate, creata utilizzando il comando «CREATE STATISTICS», per migliorare l'efficienza della pianificazione delle query che contengono condizioni «OR» o ricerca in elenchi utilizzando le espressioni «IN» o «ANY».
  • Accelerata la pulizia degli indici durante l'operazione VACUUM grazie alla parallelizzazione della raccolta dei rifiuti negli indici. Con il nuovo parametro «PARALLEL», l'amministratore può definire il numero di thread da avviare contemporaneamente per il VACUUM. È stata aggiunta la possibilità di avviare automaticamente l'esecuzione del VACUUM dopo l'inserimento dei dati.
  • Aggiunta la supporto per l'ordinamento incrementale, che consente di utilizzare i dati ordinati nelle fasi precedenti per accelerare l'ordinamento nelle fasi successive dell'elaborazione della query. Per includere la nuova ottimizzazione nel planner delle query è prevista la configurazione «enable_incremental_sort», 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 registrazione differita (WAL) fino a quando non sono stati ricevuti da tutti i server di backup che accettano le repliche. Le slot di replica non consentono nemmeno al server principale di eliminare le righe che potrebbero causare conflitti, anche se il server di backup è disattivato. Con il parametro max_slot_wal_keep_size ora è possibile limitare la dimensione massima dei file WAL per evitare il riempimento del disco.
  • Le capacità di monitoraggio dell'attività del DBMS sono state ampliate: il comando EXPLAIN ora mostra statistiche aggiuntive sull'uso del log WAL; in pg_basebackup è stata fornita la possibilità di tracciare lo stato dell'esecuzione dei backup continui; nel comando ANALYZE è stata implementata un'indicazione del progresso dell'operazione.
  • È stata aggiunta una nuova 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 formati temporali (stringhe ISO 8601 e tipi di orario nativi di PostgreSQL). Ad esempio, è possibile utilizzare costrutti come «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")')".
  • Funzione incorporata aggiunta gen_random_uuid() per generare identificatori UUID v4.
  • Nel sistema di partizionamento è stata implementata una piena supporto per la replica logica e i trigger definiti da «BEFORE»
    che operano a livello di riga.
  • La sintassi «FETCH FIRST» ora consente l'uso dell'espressione «WITH TIES», che permette di restituire righe aggiuntive alla fine del set di risultati ottenuto dopo l'applicazione di «ORDER BY».
  • È stata implementata la concezione di estensioni fidate («trusted extension«), che possono essere installate da normali utenti senza diritti di amministrazione del DBMS. L'elenco di tali estensioni è inizialmente predefinito e può essere ampliato dall'utente super amministratore. Tra le estensioni fidate ci sono pgcrypto, tablefunc, hstore e così via.
  • Nel meccanismo di collegamento delle tabelle esterne Foreign Data Wrapper (postgres_fdw) è implementato il supporto per l'autenticazione basata su certificati. Con l'autenticazione SCRAM, ai clienti è 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