Dopu un annu di sviluppu, hè statu publicatu un novu ramu stabile di u DBMS PostgreSQL 15. L'aghjurnamenti per u novu ramu seranu liberati annantu à cinque anni finu à nuvembre 2027.
Innuvazioni principali:
- Aghjunghje supportu per u cumandimu SQL "MERGE", chì s'assumiglia à l'espressione "INSERT ... ON CONFLICT". MERGE permette di creà dichjarazioni SQL cundiziunali chì combina l'operazione INSERT, UPDATE è DELETE in una sola espressione. Per esempiu, aduprendu MERGE, pudete unisce dui tavulini inserendu i registri mancanti è aghjurnà quelli esistenti. MERGE INTO customer_account ca USING recent_transactions t ON t.customer_id = ca.customer_id QUANDO MATCHED THEN UPDATE SET balance = balance + transaction_value WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value);
- L'algoritmi per a classificazione di dati in memoria è in discu sò stati migliurati significativamente. Sicondu u tipu di dati, i testi mostranu un aumentu di a velocità di classificazione da 25% à 400%.
- E funzioni di a finestra chì utilizanu row_number (), rank (), dense_rank () è count () sò stati accelerati.
- A pussibilità di esecuzione parallela di e dumande cù l'espressione "SELECT DISTINCT" hè stata implementata.
- U mecanismu di cunnessione di e tabelle esterne Foreign Data Wrapper (postgres_fdw) implementa u supportu per l'impegni asincroni in più di l'abilità aghjunta prima di processà in modu asincronu e richieste à i servitori esterni.
- Aggiunta l'abilità di utilizà l'algoritmi LZ4 è Zstandard (zstd) per cumpressà i logs di transazzione WAL, chì, sottu certi carichi di travagliu, ponu migliurà simultaneamente u rendiment è salvà u spaziu di discu. Per riduce u tempu di ricuperazione dopu un fallimentu, u supportu per a ricuperazione proattiva di e pagine chì appare in u log WAL hè statu aghjuntu.
- U supportu per a cumpressione di i fugliali di salvezza nantu à u servitore esternu hè statu aghjuntu à l'utilità pg_basebackup. servitore, aduprendu i metudi gzip, LZ4, o zstd. A capacità di utilizà moduli d'archiviazione persunalizati hè avà dispunibile, eliminendu a necessità di eseguisce cumandamenti di shell.
- Una seria di funzioni novi sò state aghjunte per processà e stringhe cù espressioni regulari: regexp_count(), regexp_instr(), regexp_like() è regexp_substr().
- L'abilità di aggregate tipi multirange ("multirange") hè stata aghjunta à a funzione range_agg().
- Modu security_invoker aghjuntu, chì vi permette di creà viste chì funzionanu cum'è l'utilizatore chì chjama invece di u creatore di vista.
- Per a replicazione logica, u supportu per filtrà fila è specificà listi di culonni hè statu implementatu, chì permette à u latu di u mittente di selezziunà un subset di dati da a tavula per a replicazione. Inoltre, a nova versione simplifica a gestione di u cunflittu, per esempiu, hè avà pussibule di saltà e transazzioni cunflitti è disattivà automaticamente una sottumissione quandu un errore hè rilevatu. A replicazione logica permette l'usu di commits in dui fasi (2PC).
- Un novu formatu di logu hè statu aghjuntu - jsonlog, chì salva l'infurmazioni in una forma strutturata cù u formatu JSON.
- L'amministratore hà a capacità di delegà permessi individuali à l'utilizatori per cambià certi parametri. cunfigurazioni di u servitore PostgreSQL.
- L'utilità psql hà aghjustatu supportu per a ricerca d'infurmazioni nantu à i paràmetri (pg_settings) utilizendu u cumandimu "\dconfig".
- L'usu di a memoria sparta hè assicurata per l'accumulazione di statistiche nantu à u funziunamentu di u servitore, chì permette di sbarazzà di un prucessu separatu di cullizzioni di statistiche è resetting periodicamente u statu à u discu.
- A capacità di utilizà i locali predefiniti di l'ICU "ICU Collation" hè statu furnitu prima, solu i locali libc puderanu esse utilizati cum'è locale predeterminatu.
- Una estensione integrata pg_walinspect hè stata pruposta, chì vi permette di inspeccionà u cuntenutu di i fugliali cù i logs WAL cù e dumande SQL.
- Per u schema publicu, tutti l'utilizatori, cù l'eccezzioni di u pruprietariu di a basa di dati, anu avutu a so autorità per eseguisce u cumandimu CREATE revocatu.
- U supportu per Python 2 hè statu sguassatu in PL / Python.
Addizione: Da 19:00 à 20:00 (MSK) ci sarà un webinar discutendu i cambiamenti in a nova versione cù Pavel Luzanov (Postgres Professional). Per quelli chì ùn sò micca capaci di unisce à a trasmissione, a registrazione di u rapportu di ghjugnu di Pavel "PostgreSQL 15: MERGE è più" in PGConf.Russia hè aperta.
Source: opennet.ru
