PostgreSQL 15 DBVS laidiens

Pēc gadu ilgas izstrādes ir publicēta jauna stabila PostgreSQL 15 DBVS filiāle. Jaunās filiāles atjauninājumi tiks izlaisti piecu gadu laikā līdz 2027. gada novembrim.

Galvenie jauninājumi:

  • Pievienots atbalsts SQL komandai "MERGE", kas līdzinās izteicienam "INSERT ... ON CONFLICT". MERGE ļauj izveidot nosacījumu SQL priekšrakstus, kas apvieno INSERT, UPDATE un DELETE darbības vienā izteiksmē. Piemēram, izmantojot MERGE, varat sapludināt divas tabulas, ievietojot trūkstošos ierakstus un atjauninot esošos. APVIENOT INTO customer_account ca, IZMANTOJOT nesenos_transakcijas t ON t.customer_id = ca.customer_id, KAD ATBILST, TAD ATJAUNINĀT IESTATĪT atlikums = atlikums + transakcijas_vērtība, KAD NAV ATBILST, TAD IEVIETOJIET (customer_id, balance) VĒRTĪBAS (t.customer_id, te.transaction), t.
  • Ir ievērojami uzlaboti algoritmi datu šķirošanai atmiņā un diskā. Atkarībā no datu veida testi uzrāda šķirošanas ātruma pieaugumu no 25% līdz 400%.
  • Logu funkcijas, izmantojot row_number(), rank(), dense_rank() un count(), ir paātrinātas.
  • Ir ieviesta iespēja paralēli izpildīt vaicājumus ar izteiksmi “SELECT DISTINCT”.
  • Ārējo tabulu savienošanas mehānisms Foreign Data Wrapper (postgres_fdw) ievieš asinhrono saistību atbalstu papildus iepriekš pievienotajai iespējai asinhroni apstrādāt pieprasījumus ārējiem serveriem.
  • Pievienota iespēja izmantot LZ4 un Zstandard (zstd) algoritmus, lai saspiestu WAL darījumu žurnālus, kas dažās darba slodzēs var vienlaikus uzlabot veiktspēju un ietaupīt vietu diskā. Lai samazinātu atkopšanas laiku pēc kļūmes, ir pievienots atbalsts WAL žurnālā redzamo lapu proaktīvai izguvei.
  • Pg_basebackup utilīta ir pievienojusi atbalstu servera puses dublējuma failu saspiešanai, izmantojot gzip, LZ4 vai zstd metodes. Arhivēšanai ir iespējams izmantot savus moduļus, ļaujot iztikt bez nepieciešamības palaist čaulas komandas.
  • Virkņu apstrādei, izmantojot regulārās izteiksmes, ir pievienota virkne jaunu funkciju: regexp_count(), regexp_instr(), regexp_like() un regexp_substr().
  • Funkcijai range_agg() ir pievienota iespēja apkopot vairāku diapazonu tipus (“multirange”).
  • Pievienots security_invoker režīms, kas ļauj izveidot skatus, kas darbojas kā zvanošais lietotājs, nevis skata veidotājs.
  • Loģiskai replikācijai ir ieviests atbalsts rindu filtrēšanai un kolonnu sarakstu norādīšanai, ļaujot sūtītāja pusē atlasīt datu apakškopu no tabulas replicēšanai. Turklāt jaunā versija vienkāršo konfliktu pārvaldību, piemēram, tagad ir iespējams izlaist konfliktējošās transakcijas un automātiski atspējot abonementu, kad tiek konstatēta kļūda. Loģiskā replikācija ļauj izmantot divfāžu apņemšanos (2PC).
  • Ir pievienots jauns žurnāla formāts - jsonlog, kas saglabā informāciju strukturētā formā, izmantojot JSON formātu.
  • Administratoram ir iespēja deleģēt lietotājiem individuālas tiesības mainīt noteiktus PostgreSQL servera konfigurācijas parametrus.
  • Psql utilīta ir pievienojusi atbalstu informācijas meklēšanai par iestatījumiem (pg_settings), izmantojot komandu “\dconfig”.
  • Koplietotās atmiņas izmantošana tiek nodrošināta statistikas uzkrāšanai par servera darbību, kas ļauj atbrīvoties no atsevišķa statistikas vākšanas un periodiskas stāvokļa atiestatīšanas uz diska procesa.
  • Ir nodrošināta iespēja izmantot noklusējuma ICU lokalizācijas “ICU Collation”; iepriekš kā noklusējuma lokalizāciju varēja izmantot tikai libc lokalizācijas.
  • Ir piedāvāts iebūvēts paplašinājums pg_walinspect, kas ļauj pārbaudīt failu saturu ar WAL žurnāliem, izmantojot SQL vaicājumus.
  • Publiskajā shēmā visiem lietotājiem, izņemot datu bāzes īpašnieku, ir atsauktas tiesības izpildīt komandu CREATE.
  • Programmā PL/Python ir noņemts atbalsts Python 2. Novecojušais ekskluzīvais dublēšanas režīms ir noņemts.

Papildinājums: no 19:00 līdz 20:00 (MSK) notiks vebinārs, kurā tiks apspriestas izmaiņas jaunajā versijā ar Pāvelu Luzanovu (Postgres Professional). Tiem, kuri nevar pievienoties raidījumam, ir atvērts Pāvela jūnija ziņojuma “PostgreSQL 15: MERGE and more” ieraksts vietnē PGConf.Russia.

Avots: opennet.ru

Pievieno komentāru