NLEN
Direct technisch advies?
Home > Blog

PostgreSQL 15: een parel van de community

Edco Wallet 4-11-2022 16:09
Categorieën: BLOG, Open Source, PostgreSQL, Review

Op 13 oktober is PostgreSQL versie 15 uitgekomen. Performanceverbeteringen, nieuwe functies en mogelijkheden voor het managen van workloads in zowel onpremise- als cloudomgevingen, maken PostgreSQL 15 een waardevolle update. Op de grootste Europese PostgreSQL-conferentie in Berlijn was er dan ook veel aandacht voor deze nieuwe versie. In deze blog vatten we de belangrijkste veranderingen en nieuwe opties samen.

Sterke en betrokken community

Het aantal verbeteringen en nieuwe toevoegingen in PostgreSQL 15 is enorm, dat getuigt van een sterke, actieve en betrokken community. Ruim vierhonderd DBA’s, developers en data-architecten hebben meegewerkt aan deze versie. Tijdens de PGConfEU-conferentie in Berlijn, waar wij als Silver-sponsor met een deel van ons team aanwezig waren, bleek ook de populariteit van Postgres. Het bezoekersaantal verbrak alle records en er is een enorme groei aan betrokken serviceproviders en sponsors te zien.

Uitgebreide update

PostgreSQL 15 is een mooi en uitgebreide update geworden. De wijzigingen en toevoegingen zijn te veel om op te noemen. Het complete overzicht is te vinden in de releasenotes, maar we stippen hier even de belangrijkste punten aan.

1. MERGE command

Nieuw in PostgreSQL 15 is de MERGE command. Het commando verwerkt inserts, updates en deletes in een enkele transactie. Door de toevoeging van het MERGE command is het gemakkelijker geworden om te migreren van SQL Server en Sybase (SAP ASE). Er waren al wel – arbeidsintensieve – workarounds, maar met MERGE is PostgreSQL 15 echt een stap voorwaarts in compatibiliteit.

MERGE command in PostgreSQL 15

Bron: Percona, Umair Shahid, PostgreSQL 15 - New features to be exited about

2. Verbeteringen logical replication

Er is meer flexibiliteit in het regelen van de replicatie door de mogelijkheden van filtering op rij- en kolomniveau en de mogelijkheid om specifieke kolommen te selecteren in kolomlijsten. Dit biedt bijvoorbeeld de optie om een specifieke datasubset uit een tabel te repliceren. Dat kan helpen om data te distribueren tussen verschillende nodes en verbetert de performance door data selectief te kunnen delen.

Logical replication PostgreSQL 15

Bron: Percona, Umair Shahid, PostgreSQL 15 - New features to be exited about

3. Base backups

Deze functionaliteit maakt het mogelijk om doelen te specificeren voor back-ups en back-ups kunnen worden gecomprimeerd, zowel client als server. De back-up-locatie kan worden gespecificeerd met -t target of –target=target. Client is default, server bewaart de back-up op de server, blackhole gooit de inhoud weg, alleen voor test- en debugging-toepassingen gebruiken.

4. Verbeterde datacompressie

In PostgreSQL 15 kun je nu ook gebruik maken van LZ4 en Zstandard algoritmes (tot PostgreSQL 14 werd PGLZ toegepast). Dit verbetert de snelheid van compressie aanzienlijk en geeft meer ruimte voor de meeste workloads. Je kan de gewenste compressiemethode kiezen met wal_compression . Permanente archivering werd voorheen met shell commands geregeld. Nu werkt WAL ook met maatwerkmodules. Hoewel het via shell commands vaak simpeler is, zal een custom archive-module veel stabieler zijn en beter presteren.

5. Logging

Sinds PostgreSQL 15 is het mogelijk een log-output te genereren in JSON: log_destination=jsonlog. Dit formaat is handig bij het integreren in andere (statistieken-) applicaties. Daarnaast worden de logfiles vanaf nu bewaard in shared memory. Hierdoor is er onder andere geen schrijfactiviteit meer naar temp-files.

6. Snelheid van sorteren

Door slimmere inzet van geheugenallocatie, het terugdringen van het geheugenverbruik bij on-disk- en in-memory-sorteringen en speciale sorteringsroutines voor gebruikelijke datatypen zijn aanzienlijke performanceverbeteringen waar te nemen. Het leuke is dat je geen veranderingen hoeft door te voeren in je database of applicatie. Het algoritme is aangepast waardoor het ‘gewoon werkt’ en je de performanceverbeteringen ziet.

Performance verbeteringen sorting in PostgreSQL 15

Bron: PGConfEU 2022, Amit Kalipa – PostgreSQL 15 and beyond

7. Performanceverbeteringen

Verder zijn een aantal wijzigingen doorgevoerd die ook de algemene performance verbeteren. Zoals partitioning, parallelism, recovery/replay en vacuum.

Waarom updaten?

Het is in het algemeen verstandig om actueel en recent te blijven. De nieuwste versie werkt uiteindelijk in de meeste gevallen het best en je bereikt in veel gevallen ‘vanzelf’ performanceverbetering.

Het is uiteraard wel aan te bevelen de releasenotes van elke versie goed te lezen en daarbij de afweging te maken of de major versie (in dit geval 15) direct, of op korte termijn, nieuwe opties brengt die je in de praktijk ook echt verder helpen. Oudere versies (zolang de community die nog ondersteunt) worden blijvend - tot end-of-life, vijf jaar na de release van de major versie - geüpdatet met bug- en securityfixes via minor updates (12.12, 13.8, 14.5 etc). Je hoeft dus niet per se haast te maken. 

Versies overslaan

Wat PostgreSQL ook uniek maakt is dat je met pg_upgrade de optie hebt om versies over te slaan. Zo kun je van bijvoorbeeld PostgreSQL 11 naar PostgreSQL 13 of zelfs 15. Let wel op dat je ook dan goed de releasenotes van alle tussenliggende versies doorleest zodat je de consequenties kunt overzien. Wacht niet té lang, oudere versies worden tot vijf jaar terug (vijf major versies) ondersteund. En voordat je gaat upgraden, zorg wel dat je de laatste minor update hebt geïnstalleerd van je huidige major versie.

Meer weten over PostgreSQL en upgraden?

Ben je geïnteresseerd geraakt in het toepassen van of migreren naar PostgreSQL? Wil je meer weten of upgraden in jouw situatie goed kan werken en wat de consequenties zijn? Neem gerust vrijblijvend contact met ons op, we helpen je graag.

Terug naar blogoverzicht

 

Reageer