Na een jaar van intensief werk heeft het ontwikkelingsteam van PostgreSQL heeft de komst van versie 18 aangekondigd, een nieuwe stabiele branch die tot november 2030 wordt ondersteund met updates en ondersteuning.
Met deze release wordt het legendarische open source databasebeheersysteem markeert het einde van de ondersteuning voor de PostgreSQL 13.x-serie, gepland op 13 november, waarin organisaties worden uitgenodigd om hun migratieplannen voor deze nieuwe fase voor te bereiden.
Belangrijkste nieuwe functies van PostgreSQL 18
In deze nieuwe versie van PostgreSQL 18 is een van de meest opvallende kenmerken de integratie van een asynchroon invoer-/uitvoersubsysteem (AIO), ontworpen om knelpunten te elimineren en de latentie te verminderen Tijdens leesintensieve bewerkingen. Deze verbetering is gebaseerd op de io_uring-interface van de Linux-kernel, die in praktijktests tot drie keer hogere prestaties biedt.
Hoewel asynchronie momenteel alleen geldt voor leesbewerkingen (om de ACID-principes te behouden tijdens het schrijven), is de impact op scenario's voor gegevensanalyse of grote query's aanzienlijk.
Een andere grote verbetering is de het optimaliseren van het gebruik van multikolomindexen met behulp van de skip scan-techniek, die Hiermee kunt u profiteren van geĆÆndexeerde kolommen, zelfs als ze niet allemaal in een query worden gebruiktBovendien is de queryverwerking met OR- en IN-clausules verfijnd, waardoor zowel de planning als de uitvoering van complexe join- en filterbewerkingen zijn verbeterd.
Op het gebied van parallellisme, PostgreSQL 18 introduceert parallelle constructie van GIN-indexenwaardoor de indexering van samengestelde gegevens, arrays of JSON-structuren wordt versneld en systeembronnen efficiƫnter kunnen worden gebruikt.
Daarnaast benadrukt het ook de nieuwe ondersteuning voor gegenereerde virtuele kolommen revolutioneert de manier waarop data wordt berekend en opgevraagd. In tegenstelling tot opgeslagen kolommen, Deze nemen geen schijfruimte in beslag en zorgen voor een dynamische verwerking van informatie., een functie die vooral handig is bij het werken met JSON-gegevens of directe transformaties.
Het introduceert ook de uuidv7()-functie, een verbeterde versie van unieke identificatiegegevens die generatietijd combineert met willekeurige componenten, waardoor sortering en gebruik in primaire indexen worden geoptimaliseerd.
Verhoogde beveiliging en moderne authenticatie
Op het gebied van beveiliging zet PostgreSQL 18 een stevige stap richting de toekomst met de OAuth 2.0-ondersteuning, wat maakt inloggen mogelijk met behulp van toegangstokens in plaats van traditionele wachtwoorden. Deze integratie opent de deur naar geavanceerdere mechanismen zoals multi-factor authenticatie (MFA) en single sign-on (SSO).
ook markeert het einde van het tijdperk van het MD5-algoritme, vervangen door de veiligste SCRAM-SHA-256en ondersteuning voor passthrough-authenticatie tussen PostgreSQL-servers die verbonden zijn via postgres_fdw of dblink is toegevoegd.
Verbeteringen in tools en beheer
De tool pg_upgrade, sleutel tot migratie tussen versies, Het is nu merkbaar sneller dankzij parallelisatieondersteuning met de parameter "ājobs N". De optie "āswap" is ook toegevoegd, waarmee u hele mappen kunt vervangen zonder bestanden te hoeven kopiĆ«ren of koppelen, wat de updatetijden verkort.
Andere nutsbedrijven, zoals EXPLAIN ANALYZE is uitgebreid om meer gedetailleerde statistieken te bieden op indexopzoekingen, buffergebruik, CPU-belasting en WAL-bewerkingen. Bovendien schakelt PostgreSQL 18 standaard datachecksums in, wat de opslagintegriteit en betrouwbaarheid versterkt.
Van de andere veranderingen die opvallen:
- Functie pg_stat_io toegevoegd om I/O-activiteit in bytes te rapporteren
- Functie toegevoegd om statistieken WALpg_stat_get_backend_wal() per backend te retourneren
- WAL-statistieken per backend kunnen worden gewist met pg_stat_reset_backend_stats().
- De servervariabele ssl_tls13_ciphers is toegevoegd om het specificeren van meerdere TLSv1.3-ciphersuites, gescheiden door dubbele punten, mogelijk te maken
- Wijzig de standaard ssl_groups-servervariabele om de elliptische curve X25519 op te nemen
- Hernoem de servervariabele ssl_ecdh_curve naar ssl_groups en sta toe dat meerdere ECDH-curven worden opgegeven, gescheiden door dubbele punten.
Tot slot, als u geĆÆnteresseerd bent om er meer over te weten, kunt u de details raadplegen in de volgende link.