PostgreSQL 15 DBMS release

Efter ett års utveckling har en ny stabil gren av PostgreSQL 15 DBMS publicerats. Uppdateringar för den nya grenen kommer att släppas under fem år fram till november 2027.

Huvudsakliga innovationer:

  • Lade till stöd för SQL-kommandot "MERGE", som liknar uttrycket "INSERT ... ON CONFLICT". MERGE låter dig skapa villkorliga SQL-satser som kombinerar INSERT-, UPDATE- och DELETE-operationer till ett enda uttryck. Med MERGE kan du till exempel slå samman två tabeller genom att infoga saknade poster och uppdatera befintliga. SAMMANSLUT INTO customer_account ca ANVÄNDA recent_transactions t ON t.customer_id = ca.customer_id NÄR MATCHED DÅ UPPDATERAS STÄLL IN saldo = saldo + transaktionsvärde NÄR INTE MATCHED INFOGA (customer_id, saldo) VÄRDEN (t.customer_id, t.transaction_value);
  • Algoritmer för att sortera data i minne och på disk har förbättrats avsevärt. Beroende på typen av data visar tester en ökning av sorteringshastigheten från 25 % till 400 %.
  • Fönsterfunktioner som använder row_number(), rank(), dense_rank() och count() har snabbats upp.
  • Möjligheten till parallell exekvering av frågor med uttrycket "SELECT DISTINCT" har implementerats.
  • Mekanismen för att ansluta externa tabeller Foreign Data Wrapper (postgres_fdw) implementerar stöd för asynkrona commits utöver den tidigare tillagda möjligheten att asynkront behandla förfrågningar till externa servrar.
  • Lade till möjligheten att använda LZ4 och Zstandard (zstd) algoritmer för att komprimera WAL transaktionsloggar, som under vissa arbetsbelastningar samtidigt kan förbättra prestanda och spara diskutrymme. För att minska återställningstiden efter ett fel har stöd för proaktiv hämtning av sidor som visas i WAL-loggen lagts till.
  • Verktyget pg_basebackup har lagt till stöd för komprimering på serversidan av säkerhetskopior med metoderna gzip, LZ4 eller zstd. Det är möjligt att använda dina egna moduler för arkivering, vilket gör att du kan göra utan att behöva köra skalkommandon.
  • En serie nya funktioner har lagts till för att bearbeta strängar med reguljära uttryck: regexp_count(), regexp_instr(), regexp_like() och regexp_substr().
  • Möjligheten att aggregera multirange-typer ("multirange") har lagts till i range_agg()-funktionen.
  • Lade till läge security_invoker, som låter dig skapa vyer som körs som den anropande användaren snarare än vyskaparen.
  • För logisk replikering har stöd för filtrering av rader och angivande av kolumnlistor implementerats, vilket gör att avsändarens sida kan välja en delmängd av data från tabellen för replikering. Dessutom förenklar den nya versionen konflikthantering, till exempel är det nu möjligt att hoppa över motstridiga transaktioner och automatiskt inaktivera ett abonnemang när ett fel upptäcks. Logisk replikering tillåter användningen av tvåfas-bekräftelser (2PC).
  • Ett nytt loggformat har lagts till - jsonlog, som sparar information i en strukturerad form med JSON-formatet.
  • Administratören har möjlighet att delegera individuella rättigheter till användare att ändra vissa PostgreSQL-serverkonfigurationsparametrar.
  • Verktyget psql har lagt till stöd för att söka information om inställningar (pg_settings) med kommandot "\dconfig".
  • Användningen av delat minne säkerställs för att samla in statistik om serverns drift, vilket gör det möjligt att bli av med en separat process för att samla in statistik och periodiskt återställa tillståndet till disken.
  • Möjligheten att använda standard ICU-lokalerna "ICU Collation" har tillhandahållits; tidigare kunde endast libc-lokaler användas som standardlokaler.
  • En inbyggd tillägg pg_walinspect har föreslagits, som låter dig inspektera innehållet i filer med WAL-loggar med hjälp av SQL-frågor.
  • För det offentliga schemat har alla användare, med undantag av databasägaren, fått sin behörighet att utföra kommandot CREATE återkallad.
  • Stödet för Python 2 har tagits bort i PL/Python. Det föråldrade exklusiva säkerhetskopieringsläget har tagits bort.

Tillägg: Från 19:00 till 20:00 (MSK) kommer det att finnas ett webbseminarium som diskuterar förändringarna i den nya versionen med Pavel Luzanov (Postgres Professional). För de som inte kan gå med i sändningen är inspelningen av Pavels junirapport "PostgreSQL 15: MERGE and more" på PGConf.Russia öppen.

Källa: opennet.ru

Lägg en kommentar