Efter et års udvikling frigivelsen af den nye stabile gren af DBMS PostgreSQL 15 blev annonceret, Denne udgivelse indeholder en række forbedringer, herunder nye komprimeringsfunktioner, der hjælper med datalagring og backup, forbedringer af datasortering for hurtigere opslag og nye lognings- og SQL-funktioner.
I denne nye version, der præsenteres, SQL-kommandoen "MERGE" er fremhævet, at giver dig mulighed for at oprette betingede SQL-sætninger der kombinerer INSERT, UPDATE og DELETE operationer i en enkelt sætning. MERGE kan f.eks. bruges til at flette to tabeller ved at indsætte manglende poster og opdatere eksisterende.
Kommandoen tillader tabelsammenlægning og gør PostgreSQL mere kompatibel med SQL Server-baserede relationelle databasestyringssystemer, inklusive Microsoft SQL Server og SAP ASE relationel databaseserver, og alle andre, der understøtter Transact-SQL-pakken af programmeringsudvidelser.
En anden ændring, der skiller sig ud i denne nye version er i algoritmerne til sortering af data i hukommelse og på disk er blevet væsentligt forbedret. Afhængig af typen af data i testene er der en stigning i sorteringshastigheden fra 25 % til 400 %.
Til logisk replikering, understøttelse af filtrering af rækker og angivelse af lister over kolonner er implementeret, som gør det muligt på afsendersiden at vælge et undersæt af data til tabelreplikering. Derudover har den nye version forenklet konflikthåndtering, for eksempel muligheden for at springe modstridende transaktioner over og automatisk afbryde et abonnement, når der opdages en fejl. Logisk replikering tillader brug af tofasede commits (2PC'er).
Mekanismen til at forbinde eksterne tabeller Ekstern databeholder (postgres_fdw) implementerer understøttelse af asynkrone commits ud over den tidligere tilføjede mulighed for at behandle anmodninger til eksterne servere asynkront.
Tilføjet muligheden for at bruge LZ4 og Zstandard algoritmerne (zstd) for at komprimere WAL transaktionslogfiler, som under nogle arbejdsbelastninger samtidigt kan forbedre ydeevnen og spare diskplads, og tilføjet understøttelse af proaktiv hentning af sider, der vises i transaktionsloggen WAL for at reducere fejlgendannelsestiden.
Det fremhæves også, at tilføjet til pg_basebackup-værktøjet la understøttelse af komprimering af backup-filer på serversiden ved hjælp af gzip, LZ4 eller zstd metoder. Muligheden for at bruge dine egne moduler til arkivering er tilvejebragt, hvilket giver dig mulighed for at undvære behovet for at køre shell-kommandoer.
Ud over det, nu i PostgreSQL 15 delt hukommelsesbrug blev sikret til akkumulering af statistikker om driften af serveren, hvilket gjorde det muligt at slippe af med en separat proces med indsamling af statistik og periodisk skylning af staten til disk.
Af de andre ændringer, der skiller sig ud fra den nye version:
- Tilføjet en række nye funktioner til at behandle strenge ved hjælp af regulære udtryk: regexp_count(), regexp_instr(), regexp_like() og regexp_substr().
- Tilføjet muligheden for at tilføje multi-range-typer ("multi-ranges") til range_agg()-funktionen.
Tilføjet en security_invoker-tilstand for at tillade oprettelse af visninger, der kører med rettighederne for den påkaldende bruger, snarere end skaberen af visningen. - Et nyt logformat er blevet tilføjet: jsonlog, som gemmer information på en struktureret måde ved hjælp af JSON-formatet.
- Administratoren har mulighed for at delegere individuelle rettigheder til brugere til at ændre visse PostgreSQL-serverkonfigurationsparametre.
- Understøttelse er blevet tilføjet til psql-værktøjet til at finde oplysninger om indstillinger (pg_settings) ved hjælp af kommandoen "\dconfig".
- En indbygget pg_walinspect-udvidelse er blevet foreslået, der giver dig mulighed for at inspicere indholdet af filer med WAL-poster ved hjælp af SQL-forespørgsler.
- Fjernet Python 2-understøttelse i PL/Python
- Fjernet forældet "eksklusiv backup"-tilstand.
- Muligheden for parallel eksekvering af forespørgsler med udtrykket "SELECT DISTINCT" er implementeret.
Til sidst er det værd at nævne det opdateringer til den nye filial vil blive frigivet i fem år indtil november 2027. Hvis du er interesseret i at vide mere om det, kan du konsultere detaljerne i følgende link.