HeadlinesBriefing favicon HeadlinesBriefing.com

PostgreSQL 19: Neue Funktionen und Property Graphs

Hacker News •
×

PostgreSQL 19 befindet sich derzeit in der Beta-Phase, mit allgemeiner Verfügbarkeit erwartet um September oder Oktober 2026. Dieser Artikel dient als praktische Begleitung zu den offiziellen Versionshinweisen, indem er ausgewählte Einträge in ausführbare Beispiele umwandelt, damit Benutzer sehen können, wie das neue Verhalten tatsächlich funktioniert. Diese Funktionen basieren auf den offiziellen Versionshinweisen und dem PostgreSQL-Quellcode unter der PostgreSQL-Lizenz. Bevor man die neuen Funktionen erkundet, ist es wichtig zu beachten, dass dies keine erschöpfende Liste ist; die offiziellen Versionshinweise sollten zur Vollständigkeit konsultiert werden. Alle Beispiele wurden mit PostgreSQL 19 Beta 3 (veröffentlicht am 2026-08-13) ausgeführt, und die Ausgabe spiegelt wider, was dieser Server tatsächlich ausgegeben hat.

Property-Graph-Abfragen sind das Hauptfeature dieser Veröffentlichung. PostgreSQL 19 implementiert SQL/PGQ, den Property-Graph-Teil von SQL:2023. Benutzer können einen Property Graph über vorhandene Tabellen deklarieren und ihn mit Musterabgleich statt manueller Joins abfragen. Zwei gewöhnliche Tabellen können als Knoten und Kanten eingerichtet werden, wodurch Musterabgleich mit GRAPH_TABLE ermöglicht wird, wobei gerichtete Kanten mit der Syntax -[...]-> abgeglichen werden. Der Vorteil liegt in Mehr-Hop-Mustern; das Verketten von zwei Kanten ermöglicht das Abrufen von Freunden-von-Freunden ohne Selbstjoin, und ein leeres () bedeutet „ein Knoten, dessen Name mir egal ist“. Eine wichtige Einschränkung besteht darin, dass variabel lange Pfade nicht unterstützt werden; Quantoren wie -[IS follows]->{1,3} werden zwar geparsed, aber abgelehnt, wodurch jeder Hop explizit angegeben werden muss. Die GRAPH_TABLE-Abfrage wird in eine gewöhnliche relationale Abfrage umgeschrieben, was bedeutet, dass der Planer, die Statistiken und die Indexentscheidungen, die dem Benutzer bereits bekannt sind, weiterhin gelten.

Zeitliche Aktualisierungen und Löschungen führen die neue Klausel FOR PORTION OF bei UPDATE- und DELETE-Anweisungen ein. Diese Klausel ermöglicht die Angabe eines gültigen Zeitraums für die Operation, wodurch eine präzisere Datenmanipulation in bitemporalen Tabellen möglich wird. Dieses Feature integriert sich mit systemversionierten Tabellen, um sicherzustellen, dass Aktualisierungen und Löschungen nur Zeilen innerhalb des angegebenen Zeitraums beeinflussen, wodurch die Datenintegrität für Anwendungen verbessert wird, die eine historische Nachverfolgung erfordern.

Die Veröffentlichung verbessert außerdem die JSON- und Abfragefähigkeiten. Neue Operatoren und Funktionen verbessern die Handhabung von JSON-Datentypen, wodurch eine effizientere Abfrage und Manipulation ermöglicht wird. Diese Verbesserungen reduzieren den Bedarf an komplexen Unterabfragen oder externer Verarbeitung beim Arbeiten mit halbstrukturierten Daten, wodurch eine bessere Leistung und eine einfachere Syntax für häufige JSON-Operationen bereitgestellt wird.

Wichtige Entitäten: Unternehmen: PostgreSQL | Personen: Peter Eisentraut, Ashutosh Bapat