PostgreSQL 15 DBMS-utgivelse

Etter et år med utvikling har en ny stabil gren av PostgreSQL 15 DBMS blitt publisert. Oppdateringer for den nye grenen vil bli utgitt over fem år frem til november 2027.

Hovedinnovasjoner:

  • Lagt til støtte for SQL-kommandoen "MERGE", som ligner uttrykket "INSERT ... ON CONFLICT". MERGE lar deg lage betingede SQL-setninger som kombinerer INSERT-, UPDATE- og DELETE-operasjoner til ett enkelt uttrykk. Ved å bruke MERGE kan du for eksempel slå sammen to tabeller ved å sette inn manglende poster og oppdatere eksisterende. SLÅ INN INTO customer_account ca USING recent_transactions t ON t.customer_id = ca.customer_id NÅR MATCHED SÅ OPPDATER SET balance = saldo + transaksjonsverdi NÅR IKKE MATCHED, SÅ SETTER INN (customer_id, saldo) VERDIER (t.customer_id, t.transaction_value);
  • Algoritmer for sortering av data i minne og på disk har blitt betydelig forbedret. Avhengig av type data viser tester en økning i sorteringshastighet fra 25 % til 400 %.
  • Vindusfunksjoner som bruker row_number(), rank(), dense_rank() og count() har blitt fremskyndet.
  • Muligheten for parallell kjøring av spørringer med uttrykket "SELECT DISTINCT" er implementert.
  • Mekanismen for å koble til eksterne tabeller Foreign Data Wrapper (postgres_fdw) implementerer støtte for asynkrone commits i tillegg til den tidligere lagt til muligheten til asynkront å behandle forespørsler til eksterne servere.
  • Lagt til muligheten til å bruke LZ4 og Zstandard (zstd) algoritmer for å komprimere WAL transaksjonslogger, som under noen arbeidsbelastninger samtidig kan forbedre ytelsen og spare diskplass. For å redusere gjenopprettingstiden etter en feil er støtte for proaktiv henting av sider som vises i WAL-loggen lagt til.
  • Verktøyet pg_basebackup har lagt til støtte for server-side komprimering av sikkerhetskopifiler ved å bruke gzip, LZ4 eller zstd metodene. Det er mulig å bruke dine egne moduler for arkivering, slik at du kan gjøre det uten å måtte kjøre skallkommandoer.
  • En rekke nye funksjoner er lagt til for å behandle strenger ved bruk av regulære uttrykk: regexp_count(), regexp_instr(), regexp_like() og regexp_substr().
  • Muligheten til å aggregere multirange-typer ("multirange") er lagt til range_agg()-funksjonen.
  • Lagt til security_invoker-modus, som lar deg lage visninger som kjører som den oppringende brukeren i stedet for visningsskaperen.
  • For logisk replikering er støtte for filtrering av rader og spesifisering av lister over kolonner implementert, noe som gjør det mulig på avsenderens side å velge et undersett av data fra tabellen for replikering. I tillegg forenkler den nye versjonen konflikthåndtering, for eksempel er det nå mulig å hoppe over motstridende transaksjoner og automatisk deaktivere et abonnement når en feil oppdages. Logisk replikering tillater bruk av to-fase commits (2PC).
  • Et nytt loggformat er lagt til - jsonlog, som lagrer informasjon i en strukturert form ved å bruke JSON-formatet.
  • Administratoren har muligheten til å delegere individuelle rettigheter til brukere for å endre visse PostgreSQL-serverkonfigurasjonsparametere.
  • Psql-verktøyet har lagt til støtte for å søke informasjon om innstillinger (pg_settings) ved å bruke "\dconfig"-kommandoen.
  • Bruken av delt minne er sikret for å samle statistikk om serverens drift, noe som gjør det mulig å kvitte seg med en egen prosess med innsamling av statistikk og periodisk tilbakestilling av tilstanden til disk.
  • Muligheten til å bruke standard ICU-lokalene "ICU Collation" er gitt; tidligere kunne bare libc-lokaliteter brukes som standardlokale.
  • En innebygd utvidelse pg_walinspect har blitt foreslått, som lar deg inspisere innholdet i filer med WAL-logger ved hjelp av SQL-spørringer.
  • For det offentlige skjemaet har alle brukere, med unntak av databaseeieren, fått tilbakekalt autoriteten til å utføre CREATE-kommandoen.
  • Støtte for Python 2 er fjernet i PL/Python. Den foreldede eksklusive sikkerhetskopieringsmodusen er fjernet.

Tillegg: Fra 19:00 til 20:00 (MSK) vil det være et webinar som diskuterer endringene i den nye versjonen med Pavel Luzanov (Postgres Professional). For de som ikke kan bli med på sendingen, er innspillingen av Pavels junirapport «PostgreSQL 15: MERGE and more» på PGConf.Russia åpen.

Kilde: opennet.ru

Legg til en kommentar