September 26, 2024: PostgreSQL 17 Released!
This page in: Chinese / English / French / German / Hebrew / Italian / Japanese / Korean / Portuguese / Russian / Spanish / Swedish / Ukrainian

PostgreSQL 16 Press Kit

Contents

Original Press Release

14 September 2023 - PostgreSQL Global Development Group presenterade idag PostgreSQL 16, den senaste versionen av världens mest avancerade databas byggd med öppen källkod.

PostgreSQL 16 höjer prestandan, med tydliga förbättringar för parallella databasfrågor, inläsning av data i stora volymer och logisk replikering. Den nya versionen innehåller mycket ny funktionalitet för både utvecklare och databasadministratörer, bland annat utökat stöd för SQL/JSON syntax, bättre övervakning av arbetsbelastning samt utökad flexibilitet i hur åtkomstregler kan hanteras över många databaser i större installationer.

"Medan användningsmönster för relationsdatabaser utvecklas och ändras så fortsätter PostgreSQL att förbättra prestandan för att hantera stora datamängder", säger Dave Page, medlem i PostgreSQL core team. "PostgreSQL 16 ger bättre möjligheter för att både skala up och skala ut installationer, och ger samtidigt nya och bättre insikter i hur datahantering kan optimeras."

PostgreSQL är känt för pålitlighet, stabilitet och tillförlitlighet. Med mer än 35 års utveckling som öppen källkod av en global grupp av utvecklare har PostgreSQL blivit den mest populära relationsdatabasen byggd på öppen källkod för organisationer av alla storlekar.

Prestandaförbättringar

PostgreSQL 16 förbättrar prestandan av redan befintlig funktionalitet genom nya optimeringar vid frågeplanering. FULL och RIGHT joins, kan i denna versionen generera en mer optimerad frågeplan för frågor som använder aggregatfunktioner med en DISTINCT eller ORDER BY klausul. Vidare kan inkrementell sortering också användas för SELECT DISTINCT frågor, och fönsterfunktioner kan optimeras för att exekvera snabbare. RIGHT och OUTER "anti-joins", vilka möjliggör att identifiera rader som inte finns i en tabell, är också förbättrade.

Denna version innehåller förbättringar för inläsning av stora volymer med COPY för både enskilda och parallella operationer, med upp till 300% prestandaförbättring under vissa omständigheter. PostgreSQL 16 adderar också stöd för lastbalansering för klienter som använder libpq, samt förbättringar kring vacuum-strategier som minskar behovet av frysning av en hel tabell. Utöver det introduceras även CPU-acceleration med hjälp av SIMD för både x86 och ARM arkitekturer vilket leder till förbättrad prestanda för hantering av ASCII och JSON strängar samt vid sökning i arrayer och subtransaktioner.

Logisk replikering

Logisk replikering ger användare möjlighet att strömma data till andra PostgreSQL instanser eller prenumeranter som kan tolka PostgreSQL-protokollet för logisk replikering. Med PostgreSQL 16 kan användare utföra logisk replikering från en standby, vilket betyder att en standby kan publicera logiska förändringar till andra servrar. Detta ger utvecklare nya möjligheter för distribution av last, till exempel genom att avlasta den primära noden genom att använda en standby för att replikera förändringar till konsumenter av datan.

Utöver det innehåller PostgreSQL 16 många förbättringar för logisk replikering. Prenumeranter kan nu applicera stora transaktioner med hjälp av parallella processer. För tabeller som inte har en primärnyckel kan prenumeranter nu använda ett B-tree index istället för sekventiell sökning för att hitta matchande rader. I speciella fall kan användare också öka hastigheten av initial tabellsynkronisering med hjälp av binärformatet.

Det finns många förbättringar kring rättighetshantering för logisk replikering i PostgreSQL 16, bland annat den nya fördefinierade rollen pg_create_subscription, vilket ger användare möjlighet att skapa en nya prenumerationer av logiska förändringar. Slutligen så har arbetet med att stödja dubbelriktad logisk replikering påbörjats i och med denna versionen, där funktionalitet för att replikera data mellan två tabeller från olika publiceringar medges.

Utvecklarfunktioner

PostgreSQL 16 har adderat stöd för mer syntax från SQL/JSON standarden, bland annat konstruktörer och predikat som JSON_ARRAY(), JSON_ARRAYAGG() och IS JSON. Denna versionen introducerar också möjligheten att använda understreck som tusenseparator (t.ex 5_432_000) och heltal i andra baser, som 0x1538, 0o12470 och 0b1010100111000.

Användare av PostgreSQL 16 kan också dra nytta från nya kommandon i psql. Dessa inkluderar bland annat \bind, vilket medger att förbereda parameteriserade frågor och med \bind ersätta variablerna (t.ex SELECT $1::int + $2::int \bind 1 2 \g).

Stödet för text jämförelser är förbättrat i PostgreSQL 16, med nya regler för hur text sorteras. PostgreSQL 16 byggs ny som standard med stöd för ICU, använder standard locale från exekveringsmiljön och ger möjlighet för att skapa egna regler för jämförelser med ICU.

Övervakning

För att kunna optimera prestandan av databasen är det mycket viktigt att förstå vilken påverkan I/O-operationer har på systemet. PostgreSQL 16 introducerar pg_stat_io, en ny källa till mätpunkter för noggrann analys av I/O-accessmönster.

Utöver har en ny kolumn lagts till i pg_stat_all_tables vilken innehåller en tidstämpel för när en tabell eller ett index senast lästes. PostgreSQL 16 förbättrar också auto_explain genom att inkludera värden som skickats till parameteriserade frågor, samt utvecklar spårningen av frågor till pg_stat_statements och pg_stat_activity.

Rättighetshantering och säkerhet

PostgreSQL 16 tillåter detaljerad konfiguration av rättighetshantering och förbättrar ett flertal säkerhetsfunktioner. Förbättringar i denna versionen är hanteringen av pg_hba.conf och pg_ident.conf med bland annat stöd för reguljära uttryck för matchning av användarnamn och databasnamn and include direktiv för externa konfigurationsfiler.

Nytt i denna versionen är ett flertal säkerhetsorienterade anslutningsparametrar för klienter, bland dem require_auth vilken ger klienter möjlighet att specificera vilka autentiseringsparametrar de är villiga att acceptera från en server, och sslrootcert="system", vilken indikerar att PostgreSQL ska använda operativsystemets källa för certifikatsutfärdare (CA). Utöver det stöds identitetsdelegering för Kerberos, vilket ger tilläggsmoduler såsom postgres_fdw och dblink möjlighet att använda autentiserade identiteter för att anslutningar till tjänster.

Om PostgreSQL

PostgreSQL är världens mest avancerade databas byggd på öppen källkod, med tusentals användare, utvecklare, företag och organisationer världen över. Med över 35 års utveckling, med start på University of California, Berkeley, har PostgreSQL fortsatt utvecklas med en enastående fart. PostgreSQL:s väl etablerade funktioner är inte bara jämförbara med proprietära databassystem, utan överträffar dem när det gäller avancerade databas funktioner, utbyggbarhet, säkerhet och stabilitet.

Länkar

Om PostgreSQL

PostgreSQL är världens mest avancerade databas byggd på öppen källkod, med tusentals användare, utvecklare, företag och organisationer världen över. Med över 35 års utveckling, med start på University of California, Berkeley, har PostgreSQL fortsatt utvecklas med en enastående fart. PostgreSQL:s väl etablerade funktioner är inte bara jämförbara med proprietära databassystem, utan överträffar dem när det gäller avancerade databas funktioner, utbyggbarhet, säkerhet och stabilitet.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

Mer om funktionerna

För förklaringar och dokumentation av de ovan nämnda funktionerna, och mer, se följande resurser:

Nerladdning

PostgreSQL 16 kan laddas ner på ett flertal olika sätt, bland annat:

Andra verktyg och tilläggsmoduler finns tillgängliga på PostgreSQL Extension Network.

Dokumentation

PostgreSQL 16 levereras med dokumentation i HTML-format samt man-sidor, och dokumentationen kan också läsas online i både HTML-format och som PDF.

Licens

PostgreSQL använder PostgreSQL Licensen, en BSD-liknande "tillåtande" licens. Denna OSI-certifierade licens anses flexibel och företagsvänlig eftersom den inte begränsar användningen av PostgreSQL i kommersiella eller proprietära applikationer. Licensen, tillsammans med brett stöd från många företag och ett publikt ägande av koden, gör att PostgreSQL är väldigt populär bland tillverkare som vill bygga in en databas i sin produkt utan att riskera avgifter, inlåsning eller förändrade licensvillkor.

Kontakter

Hemsida

E-post

Bilder och logotyper

Postgres, PostgreSQL, och elefantlogotypen (Slonik) är av PostgreSQL Community Association registrerade varumärken. Användning av dess varumärken måste följa dess varumärkespolicy.

PostgreSQL Logo

Kommersiell support

PostgreSQL projektet stöttas av ett stort antal företag som bland annat sponsrar utvecklare, erbjuder infrastruktur och ger finansiellt stöd. Se listan över PostgreSQL:s sponsors för mer information om vem de är.

Det finns också en stor grupp företag som säljer PostgreSQL Support, allt från små konsultbolag till multinationella företag.

För att ge ett ekonomiskt bidrag till PostgreSQL Global Development Group eller en av de officiella ideella organisationerna, se sidan för donations för mer information.