PostgreSQL 13 udgivelse

Efter et års udvikling offentliggjort ny stabil gren af ​​DBMS PostgreSQL 13. Opdateringer til ny filial vil komme ud i fem år indtil november 2025.

The main innovationer:

  • Implementeret deduplikation records i B-tree indekser, hvilket gjorde det muligt at forbedre forespørgselsydeevne og reducere diskpladsforbrug ved indeksering af poster med duplikerede data. Deduplikering udføres gennem periodisk lancering af en behandler, der slår grupper af gentagne tupler sammen og erstatter dubletter med links til én gemt kopi.
  • Forbedret ydeevne af forespørgsler, der bruger aggregerede funktioner, grupperede sæt (GRUPPERINGSSÆT) eller opdelt (opdelte) tabeller. Optimeringer involverer brug af hashes i stedet for faktiske data ved aggregering, hvilket undgår at lægge alle data i hukommelsen, når du behandler store forespørgsler. Ved partitionering er antallet af situationer, hvor partitioner kan kasseres eller flettes, blevet udvidet.
  • Tilføjet muligheden for at bruge avanceret statistikoprettet ved at bruge kommandoen CREATE STATISTICS til at forbedre planlægningseffektiviteten af ​​forespørgsler, der indeholder OR-betingelser eller listesøgninger ved hjælp af IN eller ALLE udtryk.
  • Rengøring af indekser under drift er blevet fremskyndet VACUUM ved at parallelisere affaldsindsamling i indekser. Ved at bruge den nye "PARALLEL" parameter kan administratoren bestemme antallet af tråde, der vil køre samtidigt for VACUUM. Tilføjet muligheden for at starte automatisk VACUUM-udførelse efter dataindsættelse.
  • Tilføjet understøttelse af trinvis sortering, som giver dig mulighed for at bruge data sorteret på det foregående trin for at fremskynde sorteringen på efterfølgende stadier af forespørgselsbehandlingen. For at aktivere den nye optimering i forespørgselsplanlæggeren er der en indstilling "enable_incremental_sort", som er aktiveret som standard.
  • Tilføjet muligheden for at begrænse størrelsen replikationsslots, hvilket giver dig mulighed for automatisk at garantere bevarelsen af ​​WAL-segmenter (write-lazy log), indtil de modtages af alle backupservere, der modtager replikaer. Replikationspladser forhindrer også den primære server i at slette rækker, der kan forårsage konflikter, selvom backupserveren er offline. Brug af parameteren max_slot_wal_keep_size Du kan nu begrænse den maksimale størrelse af WAL-filer for at forhindre, at der løber tør for diskplads.
  • Mulighederne for at overvåge DBMS-aktivitet er blevet udvidet: EXPLAIN-kommandoen giver visning af yderligere statistik om brugen af ​​WAL-loggen; V pg_basebackup givet mulighed for at spore status for løbende sikkerhedskopier; ANALYSE-kommandoen giver en indikation af forløbet af operationen.
  • Ny kommando tilføjet pg_verifybackup for at kontrollere integriteten af ​​sikkerhedskopier oprettet af kommandoen pg_basebackup.
  • Når du arbejder med JSON ved hjælp af operatorer jsonsti Tillader, at datetime()-funktionen bruges til at konvertere tidsformater (ISO 8601-strenge og oprindelige PostgreSQL-tidstyper). For eksempel kan du bruge konstruktionerne "jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2 ".datetime ())')" og "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
  • Tilføjet indbygget funktion gen_random_uuid () at generere UUID v4.
  • Partitioneringssystemet giver fuld understøttelse af logisk replikering og dem, der er specificeret af udtrykket "BEFORE".
    triggere, der virker på rækkeniveau.

  • Syntaks"HENT FØRST" tillader nu brugen af ​​et "WITH TIES"-udtryk for at returnere yderligere rækker, der er i slutningen af ​​det resultatsæt, der er opnået efter anvendelse af "ORDER BY".
  • Implementerede konceptet med pålidelige tilføjelser ("betroet udvidelse"), som kan installeres af almindelige brugere, der ikke har DBMS-administratorrettigheder. Listen over sådanne tilføjelser er oprindeligt foruddefineret og kan udvides af superbrugeren. Pålidelige tilføjelser inkluderer pgcrypto, tablefunc, hstore etc.
  • Mekanismen til at forbinde eksterne tabeller Foreign Data Wrapper (postgres_fdw) implementerer understøttelse af certifikatbaseret godkendelse. Når du bruger SCRAM-godkendelse, har klienter lov til at anmode om "kanalbinding"(kanalbinding).

Kilde: opennet.ru

Tilføj en kommentar