25. September 2025 – Die PostgreSQL Global Development Group hat heute die Veröffentlichung von PostgreSQL 18 bekannt gegeben, der neuesten Version der weltweit fortschrittlichsten Open-Source-Datenbank.
PostgreSQL 18 verbessert die Leistung für Workloads jeder Größe durch ein neues I/O-Subsystem, das beim Lesen von Speichermedien eine bis zu dreifache Leistungssteigerung aufweist und auch die Anzahl von Abfragen erhöht, die Indizes verwenden können.
Diese Version sorgt für weniger disruptive Major-Upgrades, beschleunigt die Upgrade-Zeiten und verkürzt die Zeit, die nach Abschluss eines Upgrades benötigt wird, um die erwartete Leistung zu erreichen. Entwickler profitieren ebenso von Funktionen in PostgreSQL 18, darunter virtuell generierte Spalten, die Werte zum Abfragezeitpunkt berechnen, sowie die datenbankfreundliche Funktion uuidv7()
, die eine bessere Indizierungs- und Leseleistung für UUIDs bietet. PostgreSQL 18 erleichtert außerdem mit Unterstützung von OAuth 2.0-Authentifizierung die Integration in Single-Sign-On-Systeme (SSO).
„Die Anstrengungen der globalen Open-Source-Community formen jede PostgreSQL-Version und tragen dazu bei, Funktionen bereitzustellen, die die Nutzer dort abholen, wo ihre Daten gespeichert sind“, sagte Jonathan Katz, Mitglied des PostgreSQL Core Teams. „PostgreSQL 18 baut auf der langjährigen Erfahrung des Projekts auf, zuverlässiges und robustes Datenmanagement zu bieten und gleichzeitig die unterstützten Workloads kontinuierlich zu erweitern.“
PostgreSQL, ein innovatives Datenverwaltungssystem, das für seine Zuverlässigkeit, Robustheit und Erweiterbarkeit bekannt ist, profitiert von fast 30 Jahren Open-Source-Entwicklung einer globalen Entwickler-Community und hat sich zur bevorzugten relationalen Open-Source-Datenbank für Unternehmen jeder Größe entwickelt.
PostgreSQL nutzte bisher Readahead-Mechanismen des Betriebssystems, um den Datenabruf zu beschleunigen. Da Betriebssysteme jedoch keinen Einblick in datenbankspezifische Zugriffsmuster haben, können sie nicht immer vorhersehen, welche Daten benötigt werden. Dies führt bei vielen Workloads zu einer suboptimalen Leistung.
PostgreSQL 18 führt ein neues asynchrones I/O-Subsystem (AIO) ein, das diese Einschränkung adressiert. AIO ermöglicht es PostgreSQL, mehrere I/O-Anfragen gleichzeitig zu stellen, anstatt auf den Abschluss der einzelnen Anfragen zu warten. Dies erweitert das vorhandene vorausschauende Lesen und verbessert den Gesamtdurchsatz. Zu den in PostgreSQL 18 unterstützten AIO-Operationen gehören sequentielle Scans, Bitmap-Heap-Scans und Vacuum. Benchmarking hat in bestimmten Szenarien eine bis zu dreifache Leistungssteigerung gezeigt.
The new io_method
setting lets you toggle between the AIO methods, including worker
and io_uring
,
or you can choose to maintain the current PostgreSQL behavior with the sync
setting. There are now more parameters to consider tuning with AIO, which you
can learn more about in the documentation.
Mit der neuen Einstellung io_method
können Sie zwischen den AIO-Methoden, einschließlich worker
und io_uring
, wechseln.
Mit der Einstellung sync
können Sie das Verhalten vorheriger PostgreSQL Versionen beibehalten.
Es gibt jetzt mehr Parameter, die mit AIO bei der Optimierung berücksichtigt werden sollten. Weitere Informationen dazu finden Sie in der Dokumentation.
Eine zentrale Funktion von PostgreSQL ist die Generierung und Speicherung von Statistiken, die PostgreSQL bei der Auswahl des effizientesten Abfrageplans unterstützen.
Vor PostgreSQL 18 wurden diese Statistiken bei einem Major-Upgrade nicht übernommen, was zu erheblichen Leistungseinbußen bei stark ausgelasteten Systemen führen konnte, bis die Ausführung von ANALYZE
abgeschlossen war. PostgreSQL 18 bietet die Möglichkeit, Planerstatistiken auch bei einem Major-Upgrade beizubehalten. Dadurch erreicht ein aktualisierter Cluster nach dem Upgrade schneller die erwartete Leistung.
Darüber hinaus erhält pg_upgrade
, ein Dienstprogramm zur Durchführung von Major-Upgrades, mehrere Verbesserungen in PostgreSQL 18. Beispielsweise schnellere Upgrades, wenn eine Datenbank viele Objekte wie Tabellen und Sequenzen enthält. Diese Version ermöglicht es pg_upgrade
außerdem, seine Prüfungen basierend auf den Einstellungen des Flags --jobs
parallel durchzuführen, und fügt das Flag --swap
hinzu, das Upgrade-Verzeichnisse austauscht, anstatt Dateien zu kopieren, zu klonen oder zu verlinken.
PostgreSQL 18 beschleunigt die Geschwindigkeiten von Abfragen mit Features, die Ihre Workloads automatisch beschleunigen. Diese Version führt „Skip Scan“-Lookups für mehrspaltige B-Tree-Indizes ein, die die Ausführungszeit für Abfragen verbessern, die keine „=“-Bedingung auf einer oder mehreren Präfix-Indexspalten enthalten. Auch Abfragen mit „OR“-in einer „WHERE“-Bedingung können dahingehend optimiert werden einen Index zu verwenden. Dies führt zu einer deutlich schnelleren Ausführung. Darüber hinaus gibt es zahlreiche Verbesserungen bei der Planung und Ausführung von Joins in PostgreSQL, von der Leistungssteigerung bei Hash-Joins bis hin zur Möglichkeit, inkrementelle Sortierungen bei Merge-Joins zu verwenden. PostgreSQL 18 unterstützt außerdem die parallele Erstellung von GIN-Indizes, womit diese zu B-Tree- und BRIN-Indizes aufschließen.
Diese Version baut außerdem die PostgreSQL-Unterstützung für Hardwarebeschleunigung aus, einschließlich der Unterstützung für ARM NEON- und SVE-CPU-Intrinsics für die Funktion „popcount“, die von bit_count
verwendet wird, sowie anderen internen Funktionen.
PostgreSQL 18 führt virtuell generierte Spalten ein, die Werte zur Abfragezeit berechnen, anstatt diese zu speichern. Dies ist nun die Standardoption für generierte Spalten. Darüber hinaus können gespeicherte generierte Spalten nun logisch repliziert werden.
Diese Version ermöglicht den Zugriff auf die vorherigen (OLD
) und aktuellen (NEW
) Werte in der RETURNING
-Klausel für die Befehle INSERT
, UPDATE
, DELETE
und MERGE
. Die UUIDv7-Generierung über die Funktion uuidv7()
in PostgreSQL 18 und ermöglicht so die Generierung zufälliger UUIDs in Zeitstempelreihenfolge, um bessere Caching-Strategien zu unterstützen. PostgreSQL 18 enthält auch die Funktion uuidv4()
als Alias für gen_random_uuid()
.
PostgreSQL 18 führt zeitliche Constraints, also Einschränkungen über Zeiträume, sowohl für PRIMARY KEY“
als auch für UNIQUE
-Constraints mit der Klausel WITHOUT OVERLAPS
sowie für FOREIGN KEY
-Constraints mit der Klausel „PERIOD“ ein.
Außerdem vereinfacht PostgreSQL 18 die Erstellung der Schemadefinition einer Fremdtabelle mithilfe der Definition einer lokalen Tabelle mit dem Befehl CREATE FOREIGN TABLE ... LIKE
.
PostgreSQL 18 vereinfacht und beschleunigt die Verarbeitung von Text dank mehrerer Verbesserungen. Diese Version enthält PG_UNICODE_FAST
Collation, welche vollständige Unicode-Semantik für Groß- und Kleinschreibung bietet, gleichzeitig aber viele Vergleiche beschleunigt. Dazu gehören die String-Vergleichsfunktionen upper
und lower
sowie die neue Funktion casefold
für Vergleiche ohne Berücksichtigung der Groß- und Kleinschreibung. Darüber hinaus unterstützt PostgreSQL 18 jetzt LIKE
-Vergleiche für Text mit einer nichtdeterministischen Collation. Dies vereinfacht die Durchführung komplexerer Mustervergleiche. Diese Version ändert außerdem die Volltextsuche dahingehend, dass nun die Standard-Collation eines Clusters verwendet wird, anstatt immer libc
zu verwenden. Dies kann eine Neuindizierung aller Volltextsuche
und pg_trgm
Indizes nach der Ausführung von pg_upgrade
erforderlich machen.
PostgreSQL 18 führt die oauth
-Authentifizierung ein, die eine Authentifizierung über OAuth 2.0-Mechanismen ermöglicht, die durch PostgreSQL-Erweiterungen bereitgestellt werden. Zusätzlich enthält PostgreSQL 18 eine Validierung für den FIPS-Modus und fügt den Parameter ssl_tls13_ciphers
zur Konfiguration serverseitiger TLS v1.3-Verschlüsselung hinzu.
Mit dieser Version wird die md5
-Passwortauthentifizierung als veraltet markiert. Sie wird in einer zukünftigen Version entfernt. Wenn Sie eine passwortbasierte PostgreSQL-Authentifizierung benötigen, verwenden Sie die SCRAM
-Authentifizierung. PostgreSQL 18 unterstützt außerdem die SCRAM-Passthrough
-Authentifizierung mit PostgreSQL-Remote-Instanzen sowohl für postgres_fdw
als auch dblink
. Darüber hinaus unterstützt pgcrypto
jetzt SHA-2
-Verschlüsselung für Passwort-Hashing.
PostgreSQL 18 unterstützt die Meldung von Schreibkonflikten bei logischen Replikationen in Log-Dateien und in der View pg_stat_subscription_stats
. Darüber hinaus verwendet CREATE SUBSCRIPTION
jetzt standardmäßig paralleles Streaming für die Applikation von Transaktionen, was die Leistung verbessern kann. Das Dienstprogramm pg_createsubscriber
verfügt jetzt über das Flag --all
, sodass Sie mit einem einzigen Befehl logische Replikate für alle Datenbanken einer Instanz erstellen können. Mit PostgreSQL 18 können Sie außerdem ungenutzte Replikationsslots automatisch löschen, um zu verhindern, dass zu viele Write-Ahead-Log-Dateien auf einem Publisher gespeichert werden.
PostgreSQL 18 verbessert die vacuum-Strategie, indem bei regelmäßigen Vakuumvorgängen proaktiv mehr Seiten eingefroren werden. Dies reduziert den Overhead und hilft in Situationen, die intensive Vakuumvorgänge erfordern.
PostgreSQL 18 erweitert EXPLAIN
um weitere Details. Das Tool liefert Informationen zur Ausführung des Abfrageplans und zeigt ab dieser Version automatisch an, wie viele Buffer (die grundlegende Einheit der Datenspeicherung) bei der Ausführung von EXPLAIN ANALYZE
abgerufen werden. Außerdem zeigt EXPLAIN ANALYZE
nun an, wie viele Indexzugriffe während eines Index-Scans stattfinden, und EXPLAIN ANALYZE VERBOSE
enthält CPU-, WAL- und durchschnittliche Lesestatistiken. PostgreSQL 18 enthält nun mehr Informationen in pg_stat_all_tables
zur für Vacuum und verwandte Operationen aufgewendeten Zeit sowie verbindungsbezogene Statistiken zur I/O- und WAL-Nutzung.
Ab PostgreSQL 18 werden von initdb
initialisierte Datenbanken standardmäßig mit aktivierten Seitenprüfsummen angelegt. Dies kann sich auf Upgrades von Clustern ohne Prüfsummen auswirken. In diesem Fall müssen Sie bei Verwendung von pg_upgrade
einen neuen PostgreSQL 18-Cluster mit der Option --no-data-checksums
erstellen.
PostgreSQL 18 führt außerdem eine neue Version (3.2) des PostgreSQL-Wire-Protokolls ein, die erste neue Protokollversion seit PostgreSQL 7.4 (2003).
libpq
verwendet standardmäßig noch Version 3.0, während Clients wie z. B. Treiber, Pooler und Proxys bereits beginnen, die Unterstützung für die neue Protokollversion einbauen.
PostgreSQL 18 bietet zahlreiche weitere neue Funktionen und Verbesserungen, die auch für Ihre Anwendungsfälle hilfreich sein können. Eine vollständige Liste der neuen und geänderten Funktionen finden Sie in den Versionshinweisen.
PostgreSQL ist das führende Open-Source Datenbanksystem, mit einer weltweiten Community bestehend aus Tausenden von Nutzern und Mitwirkenden sowie Dutzenden von Firmen und Organisationen.
Seit seinen Anfängen an der University of California, Berkeley vor über 40 Jahren hat sich PostgreSQL mit beispiellosem Tempo weiterentwickelt. Der ausgereifte Funktionsumfang von PostgreSQL steht den führenden proprietären Datenbanksystemen in nichts nach, sondern übertrifft diese in puncto fortschrittlicher Datenbankfunktionen, Erweiterbarkeit, Sicherheit und Stabilität.
PostgreSQL ist das führende Open-Source Datenbanksystem, mit einer weltweiten Community bestehend aus Tausenden von Nutzern und Mitwirkenden sowie Dutzenden von Firmen und Organisationen.
Seit seinen Anfängen an der University of California, Berkeley vor über 40 Jahren hat sich PostgreSQL mit beispiellosem Tempo weiterentwickelt. Der ausgereifte Funktionsumfang von PostgreSQL steht den führenden proprietären Datenbanksystemen in nichts nach, sondern übertrifft diese in puncto fortschrittlicher Datenbankfunktionen, Erweiterbarkeit, Sicherheit und Stabilität.
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
Erläuterungen zu den oben genannten und anderen Funktionen finden Sie in den folgenden Quellen:
Es gibt mehrere Möglichkeiten, PostgreSQL 18 herunterzuladen, darunter:
Weitere Tools und Erweiterungen sind über das PostgreSQL Extension Network verfügbar.
PostgreSQL 18 wird mit einer HTML-Dokumentation sowie Manpages geliefert. Sie können die Dokumentation auch online unter HTML aufrufen und als PDF Datei herunterladen.
PostgreSQL verwendet die PostgreSQL-Lizenz, eine BSD-artige "permissive" Lizenz. Diese OSI-zertifizierte Lizenz wird allgemein als flexibel und geschäftsfreundlich geschätzt, da die Verwendung von PostgreSQL mit kommerziellen und proprietären Anwendungen nicht eingeschränkt wird. Zusammen mit unternehmensübergreifender Unterstützung und öffentlichem Quellcode macht diese Lizenz PostgreSQL sehr beliebt bei Anbietern die eine Datenbank in ihre eigene Anwendungen einbetten möchten, ohne Einschränkugen bei Gebühren, Herstellerbindung oder Änderungen der Lizenzbedingungen.
Webseite
Postgres und PostgreSQL und das Elefanten Logo (Slonik) sind registrierte Marken der PostgreSQL Community Association. Wenn Sie diese Marken verwenden möchten, müssen Sie die Markenrichtlinie einhalten.
PostgreSQL genießt die Unterstützung zahlreicher Unternehmen, die Entwickler sponsern, Hosting-Ressourcen bereitstellen und finanzielle Unterstützung leisten. Unsere Sponsorenliste listet einige Unterstützer des Projekts auf.
Es gibt eine große Anzahl von Unternehmen, die PostgreSQL-Support anbieten, von einzelnen Beratern bis hin zu multinationalen Unternehmen.
Wenn Sie einen finanziellen Beitrag zur PostgreSQL Development Group leisten möchten oder eine der anerkannten gemeinnützigen Organisationen der Community unterstützen möchten, besuchen Sie bitte unsere Spenden Seite.