Menü
Developer

Datenbank PostgreSQL 11 erweitert parallele Queries und Stored Procedures

Die Open-Source-Datenbank führt Transaktions-Management in Stored Procedures ein und kompiliert einige Ausdrücke in Queries.

vorlesen Drucken Kommentare lesen 15 Beiträge
PostgreSQL 11 erweitert parallele Queries und Stored Procedures

Das Team hinter PostgreSQL hat Version 11 der quelloffenen Datenbank veröffentlicht. Das Release bringt zahlreiche Neuerungen, die vor allem der Stabilität und Performance dienen. Es konzentriert sich auf Stored Procedures, Partitionierung und parallele Queries. Ganz neu ist ein JIT-Compiler für bestimmte Ausdrücke.

Parallele Queries kennt PostgreSQL seit der Version 9.6. Das im vergangenen Herbst erschienene PostgreSQL 10 brachte bereits einige Ergänzungen, die Version 11 nun fortführt. Unter anderem kann die Datenbank neuerdings SELECT-Queries, die UNION verwenden, parallelisieren. Außerdem nutzt sie parallele Verarbeitung für einige Befehle, darunter CREATE INDEX beim Erstellen eines B-Baum-Index.

PostgreSQL 11 führt einen Just-in-Time-Compiler (JIT) für das Ausführen bestimmter Ausdrücke in Queries ein. Derzeit kann die Implementierung unter anderem WHERE-Klauseln, Ziellisten, Projektionen und Aggregatfunktionen beschleunigen. Der JIT ist nicht standardmäßig aktiviert, und da PostgreSQL zum Kompilieren LLVM verwendet, muss der Compiler auf dem System verfügbar sein.

Eine weitere Neuerung ist das sogenannte Hash Partitioning, mit dem sich die Datenbank über einen Hash-Schlüssel partitionieren lässt. Außerdem können Administratoren für partitionierte Tabellen nun Indexes, Trigger sowie PRIMARY KEY und FOREIGN KEY erstellen, die an alle Partitionen weitergegeben werden. Neu ist zudem eine optionale Default-Partition, die all jene Daten aufnimmt, die keinen Partitionsschlüssel entspricht. Der Foreign Data Wrapper postgres_fdw kann neuerdings Aggregate an entfernte Tabellen weitergeben, die Partitionen sind.

Entwickler können in PostgreSQL 11 Transaktionen in Stored Procedures einbinden und damit komplexe serverseitige Arbeitsabläufe programmieren. Zu den weiteren nennenswerten Neuerungen gehört die Erweiterung von Fensterfunktionen, die nun unter anderem den Einsatz von RANGE, PRECEDING/FOLLOWING und GROUPS erlauben. Außerdem können Administratoren Covering Indexes mit der INCLUDE-Klausel von CREATE INDEX erstellen.

Weitere Details lassen sich der offiziellen Bekanntmachung entnehmen. Die vollständige Liste der Neuerungen findet sich in den Release Notes. Die Downloadseite bietet den Sourcecode und Binaries für unterschiedliche Betriebssysteme zum Herunterladen. (rme)