PostgreSQL 13 DBMS release

Efter ett år av utveckling publicerat ny stabil gren av DBMS PostgreSQL 13. Uppdateringar för ny filial kommer komma ut i fem år till november 2025.

Den huvudsakliga innovationer:

  • Genomfört deduplicering poster i B-tree-index, vilket gjorde det möjligt att förbättra frågeprestanda och minska diskutrymmesförbrukningen vid indexering av poster med dubbletter av data. Deduplicering utförs genom periodisk lansering av en hanterare som slår samman grupper av upprepade tupler och ersätter dubbletter med länkar till en lagrad kopia.
  • Förbättrad prestanda för frågor som använder aggregerade funktioner, grupperade uppsättningar (GRUPPUPPSÄTTNINGAR) eller partitionerad (uppdelade) tabeller. Optimering innebär att man använder hash istället för faktiska data vid aggregering, vilket undviker att lägga all data i minnet när man bearbetar stora frågor. Vid partitionering har antalet situationer där partitioner kan kasseras eller slås samman utökats.
  • Lade till möjligheten att använda avancerad statistikskapas genom att använda kommandot CREATE STATISTICS för att förbättra schemaläggningseffektiviteten för frågor som innehåller OR-villkor eller listsökningar med IN eller ALLA uttryck.
  • Rengöring av index under drift har påskyndats VAKUUM genom att parallellisera sophämtning i index. Med den nya parametern "PARALLEL" kan administratören bestämma antalet trådar som körs samtidigt för VACUUM. Lade till möjligheten att initiera automatisk VACUUM-körning efter datainsättning.
  • Lade till stöd för inkrementell sortering, vilket gör att du kan använda data sorterad i föregående steg för att påskynda sorteringen vid efterföljande steg av frågebehandling. För att aktivera den nya optimeringen i frågeplaneraren finns en inställning "enable_incremental_sort", som är aktiverat som standard.
  • Lade till möjligheten att begränsa storleken replikeringsplatser, vilket gör att du automatiskt kan garantera bevarandet av WAL-segment (Writ-lazy Log) tills de tas emot av alla backupservrar som tar emot repliker. Replikeringsplatser förhindrar också den primära servern från att ta bort rader som kan orsaka konflikter, även om backupservern är offline. Använder parametern max_slot_wal_keep_size Du kan nu begränsa den maximala storleken på WAL-filer för att förhindra att diskutrymmet tar slut.
  • Möjligheterna att övervaka DBMS-aktivitet har utökats: kommandot EXPLAIN visar ytterligare statistik om användningen av WAL-loggen; V pg_basebackup gav möjlighet att spåra status för kontinuerliga säkerhetskopior; Kommandot ANALYS ger en indikation på hur operationen fortskrider.
  • Nytt kommando har lagts till pg_verifybackup för att kontrollera integriteten hos säkerhetskopior skapade av kommandot pg_basebackup.
  • När du arbetar med JSON med operatorer jsonpath Tillåter att datetime()-funktionen används för att konvertera tidsformat (ISO 8601-strängar och inbyggda PostgreSQL-tidstyper). Till exempel kan du använda konstruktionerna "jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2 ".datetime ())')" och "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
  • Tillagd inbyggd funktion gen_random_uuid () för att generera UUID v4.
  • Partitioneringssystemet ger fullt stöd för logisk replikering och de som anges av uttrycket "BEFORE".
    triggers som fungerar på radnivå.

  • Syntax "HÄMTA FÖRST" tillåter nu användning av ett "WITH TIES"-uttryck för att returnera ytterligare rader som ligger längst ner på resultatuppsättningen som erhålls efter att ha tillämpat "ORDER BY".
  • Implementerade konceptet med pålitliga tillägg ("betrodd förlängning"), som kan installeras av vanliga användare som inte har DBMS-administratörsrättigheter. Listan över sådana tillägg är initialt fördefinierad och kan utökas av superanvändaren. Pålitliga tillägg inkluderar pgcrypto, tablefunc, hstore etc.
  • Mekanismen för att ansluta externa tabeller Foreign Data Wrapper (postgres_fdw) implementerar stöd för certifikatbaserad autentisering. När du använder SCRAM-autentisering tillåts klienter att begära "kanalbindning"(kanalbindning).

Källa: opennet.ru

Lägg en kommentar