PostgreSQL 15 DBMS-eldono

Post jaro da evoluo, nova stabila branĉo de la PostgreSQL 15 DBMS estis publikigita. Ĝisdatigoj por la nova branĉo estos publikigitaj dum kvin jaroj ĝis novembro 2027.

Ĉefaj novigoj:

  • Aldonita subteno por la SQL-komando "MERGE", kiu similas la esprimon "INSERT ... ON CONFLICT". MERGE permesas krei kondiĉajn SQL-deklarojn, kiuj kombinas operaciojn INSERT, UPDATE kaj DELETE en ununuran esprimon. Ekzemple, uzante MERGE, vi povas kunfandi du tabelojn enmetante mankantajn registrojn kaj ĝisdatigante ekzistantajn. MERGE INTO customer_account ca UZANTE recent_transactions t ON t.customer_id = ca.customer_id KIAM KOMATIS TAM ĜISDATIGI AJN saldo = saldo + transakcio_valoro KIAM NE KOMERCITAS TAM INSERT (kliento_id, saldo) VALOJ (t.customer_id, t.transaction_value);
  • Algoritmoj por ordigi datumojn en memoro kaj sur disko estis signife plibonigitaj. Depende de la tipo de datumoj, testoj montras pliiĝon en ordiga rapideco de 25% ĝis 400%.
  • Fenestraj funkcioj uzantaj row_number(), rank(), dense_rank() kaj count() estis plirapidigitaj.
  • La ebleco de paralela ekzekuto de demandoj kun la esprimo "SELECT DISTINCT" estis efektivigita.
  • La mekanismo por konekti eksterajn tablojn Foreign Data Wrapper (postgres_fdw) efektivigas subtenon por nesinkronaj komitaĵoj aldone al la antaŭe aldonita kapablo nesinkrone prilabori petojn al eksteraj serviloj.
  • Aldonis la eblon uzi algoritmojn LZ4 kaj Zstandard (zstd) por kunpremi WAL-transakciajn protokolojn, kiuj, sub iuj laborŝarĝoj, povas samtempe plibonigi rendimenton kaj ŝpari diskospacon. Por redukti la reakiran tempon post malsukceso, estis aldonita subteno por iniciatema rehavigo de paĝoj aperantaj en la WAL-protokolo.
  • La pg_basebackup ilo aldonis subtenon por servilflanka kunpremado de rezervaj dosieroj per la metodoj gzip, LZ4 aŭ zstd. Eblas uzi viajn proprajn modulojn por arkivado, permesante al vi fari sen la bezono ruli ŝelkomandojn.
  • Serio de novaj funkcioj estis aldonitaj por prilaborado de ŝnuroj uzante regulajn esprimojn: regexp_count(), regexp_instr(), regexp_like() kaj regexp_substr().
  • La kapablo kunigi multintervalajn tipojn ("multirange") estis aldonita al la funkcio range_agg().
  • Aldonita security_invoker-reĝimo, kiu ebligas al vi krei vidojn kiuj funkcias kiel la alvokanta uzanto prefere ol la vidokreinto.
  • Por logika reproduktado, subteno por filtrado de vicoj kaj precizigado de listoj de kolonoj estis efektivigita, permesante sur la flanko de la sendinto elekti subaron de datenoj de la tabelo por reproduktado. Krome, la nova versio simpligas konfliktadministradon, ekzemple, nun eblas preterlasi konfliktajn transakciojn kaj aŭtomate malŝalti abonon kiam eraro estas detektita. Logika reproduktado permesas la uzon de dufazaj komitaĵoj (2PC).
  • Nova protokolo-formato estis aldonita - jsonlog, kiu konservas informojn en strukturita formo uzante la JSON-formaton.
  • La administranto havas la kapablon delegi individuajn rajtojn al uzantoj por ŝanĝi certajn agordajn parametrojn de PostgreSQL-servilo.
  • La psql ilo aldonis subtenon por serĉi informojn pri agordoj (pg_settings) uzante la komandon "\dconfig".
  • La uzo de komuna memoro estas certigita por amasigi statistikojn pri funkciado de la servilo, kio ebligas forigi apartan procezon de kolektado de statistikoj kaj periode restarigi la staton al disko.
  • La kapablo uzi la defaŭltajn ICU-lokojn "ICU Collation" estis disponigita; antaŭe, nur libc-lokoj povus esti uzataj kiel la defaŭlta loko.
  • Enkonstruita etendo pg_walinspect estis proponita, kiu ebligas al vi inspekti la enhavon de dosieroj kun WAL-protokoloj uzante SQL-demandojn.
  • Por la publika skemo, ĉiuj uzantoj, escepte de la datumbazoposedanto, havis sian aŭtoritaton efektivigi la CREATE-komandon nuligita.
  • Subteno por Python 2 estis forigita en PL/Python. La malnoviĝinta ekskluziva rezerva reĝimo estis forigita.

Aldono: De 19:00 ĝis 20:00 (MSK) okazos retseminario diskutanta la ŝanĝojn en la nova versio kun Pavel Luzanov (Postgres Professional). Por tiuj, kiuj ne povas aliĝi al la elsendo, registraĵo de la junia raporto de Pavel "PostgreSQL 15: MERGE kaj pli" ĉe PGConf.Russia estas malfermita.

fonto: opennet.ru

Aldoni komenton