Release av databashanteraren PostgreSQL 15

Efter ett Ärs utveckling publiceras den nya stabila versionen av databashanteraren PostgreSQL 15. Uppdateringar för den nya versionen kommer att slÀppas under fem Är fram till november 2027.

Huvudsakliga nyheter:

  • Stöd för SQL-kommandot "MERGE" har lagts till, vilket pĂ„minner om uttrycket "INSERT 
 ON CONFLICT". MERGE gör det möjligt att skapa villkorliga SQL-uttryck som sammanfogar operationer som INSERT, UPDATE och DELETE i ett enda uttryck. Till exempel kan MERGE anvĂ€ndas för att sammanfoga tvĂ„ tabeller genom att införa saknade poster och uppdatera befintliga. MERGE INTO customer_account ca USING recent_transactions t ON t.customer_id = ca.customer_id WHEN MATCHED THEN UPDATE SET balance = balance + transaction_value WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value);
  • Algoritmerna för sortering av data i minnet och pĂ„ disk har förbĂ€ttrats avsevĂ€rt. Beroende pĂ„ datatyp har tester visat en ökning av sorteringshastigheten med mellan 25 % och 400 %.
  • Prestandan för fönsterfunktioner med row_number(), rank(), dense_rank() och count() har förbĂ€ttrats.
  • Det har implementerats möjlighet för parallell körning av frĂ„gor med uttrycket "SELECT DISTINCT".
  • I mekanismen för att ansluta externa tabeller, Foreign Data Wrapper (postgres_fdw), har stöd för asynkrona commits lagts till, utöver den tidigare tillagda möjligheten för asynkron bearbetning av förfrĂ„gningar till externa servrar.
  • Möjligheten att anvĂ€nda algoritmerna LZ4 och Zstandard (zstd) för komprimering av WAL-loggar för transaktioner har lagts till, vilket under vissa belastningar gör det möjligt att bĂ„de öka prestandan och spara diskutrymme. För att förkorta Ă„terstĂ€llningstiden efter fel har stöd för förhandsutvinning av sidor, som förekommer i WAL-loggen, lagts till.
  • I verktyget pg_basebackup har stöd för komprimering av backupfiler pĂ„ serversidan lagts till, servern, med anvĂ€ndning av metoderna gzip, LZ4 eller zstd. Det har ocksĂ„ tillhandahĂ„llits en möjlighet att anvĂ€nda egna moduler för arkivering, vilket gör det möjligt att undvika körning av shell-kommandon.
  • En serie nya funktioner för strĂ€nghantering med reguljĂ€ra uttryck har lagts till: regexp_count(), regexp_instr(), regexp_like() och regexp_substr().
  • Möjlighet att aggreggera mĂ„nga intervalltyper ("multirange") har lagts till i funktionen range_agg().
  • En lĂ€ge security_invoker har lagts till, vilket gör det möjligt att skapa vyer som körs med den anropande anvĂ€ndarens rĂ€ttigheter, snarare Ă€n skaparen av vyns rĂ€ttigheter.
  • För logisk replikering har stöd för radfiltrering och angivande av kolumnlistor implementerats, vilket möjliggör att skicka ett delmĂ€ngd av data frĂ„n tabellen för replikering. Dessutom har hanteringen av konflikter förenklats i den nya versionen, med möjlighet att hoppa över konfliktande transaktioner och automatiskt avaktivera prenumerationen vid upptĂ€ckta fel. Vid logisk replikering Ă€r anvĂ€ndning av tvĂ„faser-commits (2PC) tillĂ„ten.
  • Ett nytt logformat — jsonlog har lagts till, som sparar information i strukturerad form, med hjĂ€lp av JSON-format.
  • Administratören har möjligheten att delegera specifika befogenheter till anvĂ€ndare för att Ă€ndra vissa parametrar. serverkonfigurationen PostgreSQL.
  • I verktyget psql har stöd för att söka information om instĂ€llningar (pg_settings) lagts till med kommandot «\dconfig».
  • AnvĂ€ndning av delat minne för att samla statistik om serverns arbete har sĂ€kerstĂ€llts, vilket gjort det möjligt att eliminera en separat statistikinsamlingsprocess och periodiska tillstĂ„ndsbackuper till disk.
  • Möjlighet att anvĂ€nda ICU-lokaler som standard för «ICU Collation» har tillhandahĂ„llits, tidigare kunde endast libc-lokaler anvĂ€ndas som standardlokal.
  • Ett inbyggt tillĂ€gg pg_walinspect har föreslagits, vilket möjliggör inspektion av innehĂ„llet i WAL-loggfiler med hjĂ€lp av SQL-frĂ„gor.
  • För schemat public har alla anvĂ€ndare utom databassens Ă€gare fĂ„tt sina rĂ€ttigheter att utföra kommandot CREATE Ă„terkallade.
  • I PL/Python har stödet för Python 2 avvecklats. Den förĂ„ldrade exklusiva sĂ€kerhetskopieringsmetoden («exclusive backup») har tagits bort.

TillÀgg: FrÄn 19:00 till 20:00 (MSK) kommer en webbseminarium om Àndringarna i den nya versionen med Pavel Luzanov (Postgres Professional) att hÄllas. För dem som inte kan delta i live-sÀndningen finns inspelningen av Pavels juni-presentation «PostgreSQL 15: MERGE och mer» tillgÀnglig pÄ PGConf.Russia.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster