Neues Release – PostgreSQL 13

PostgreSQL 13 enthält Verbesserungen bei der Indizierung, einschließlich Platzersparnis und Leistungsgewinnen für Indizes, schnellere Antwortzeiten für Abfragen, sowie eine bessere Planung der Anfragen bei Verwendung erweiterter Statistiken. Zusammen mit Features wie paralleles Vacuum und inkrementelles Sortieren, bietet die aktuelle Version, ein besseres Datenmanagement für große und kleine Workloads.

Aufbauend auf der Arbeit der vorherigen Version, kann PostgreSQL 13 nun duplizierte Daten in B-Tree Indexes verarbeiten. Der B-Tree Index ist der standardmäßig verwendete Datenbank-Index und wird am häufigsten eingesetzt. Dies reduziert den Gesamtspeicherplatz für B-Tree Indexes und verbessert die Geschwindigkeit von Abfragen.

Anzeige

PostgreSQL 13 führt eine inkrementelle Sortierung ein, bei der bereits sortierte Daten eines früheren Schrittes die Sortierung in späteren Ausführungsschritten beschleunigt. Zusätzlich kann man nun die erweiterten Statistiken nutzen (erreichbar über `CREATE STATISTICS`). Dies erstellt verbesserte Abfragepläne für Abfragen mit `OR` – Formulierungen oder `IN`/`ANY` – Suchen über Listen. Es können mehr Abfragevarianten die Aggregierungen und Sortierungs-Sets verwenden, da die Effizienz der Hash-Aggregierung verbessert wurde. Abfragen mit grossen Aggregaten müssen nun nicht mehr komplett in den RAM passen. Abfragen auf partitionierte Tabellen laufen in der Regel schneller, da mehr Fälle vom Planer gar nicht erst in Betracht gezogen werden. Dies trifft zu wenn entweder zur Plan- oder zur Laufzeit festgestellt wird, dass die Partitionen keine relevanten Daten enthalten können. Partitionen können zudem direkt miteinander verbunden (ge-joined) werden, ohne den Umweg über die partitionierte Tabelle zu gehen. 

Vacuuming ist ein wesentlicher Bestandteil der PostgreSQL Administration. Es erlaubt der Datenbank Speicherplatz zurückzugeben, nachdem Datensätze geändert und gelöscht wurden. Dieser Prozess kann eine administrative Herausforderung sein, auch wenn in früheren Versionen bereits viel Arbeit in die Verringerung des Vacuum Aufwands investiert wurde. Die aktuelle Version verbessert Vacuum mit der Einführung des Parallelen Vacuum von Indexen. Dies bringt nicht nur generelle Geschwindigkeitsvorteile beim Vacuum, sondern Administratoren können mit dieser Verbesserung auch konfigurieren, dass die Anzahl der parallelen Prozesse an spezifische Auslastungen angepasst wird. Eine weitere Neuheit ist, dass Inserts nun auch den Vacuum Prozess auslösen können. Bisher konnte das nur durch Updates und Deletes automatisch ausgelöst werden.

Replication Slots können so eingestellt werden, dass nur eine maximale Anzahl an WAL Segmenten vorgehalten wird. So wird verhindert, dass der Speicherplatz auf einer Primär-Datenbank ausgeht. Replication Slots sorgen dafür dass Write-Ahead Logs (WAL) nicht gelöscht werden, bevor diese auf einem Replica angekommen sind.

Administratoren bekommen mehr Möglichkeiten die Aktivitäten in der Datenbank zu überwachen. Z. B. werden WAL Statistiken nun in der Ausgabe von `EXPLAIN` dargestellt, der Fortschritt von Base Backups kann überwacht werden und auch der Fortschritt von `ANALYZE` Kommandos kann abgefragt werden. Neu ist zudem, dass die Integrität von `pg_basebackup` Backups mit dem neuen Kommando `pg_verifybackup` sichergstellt werden kann.

Das neue Release kommt mit der `datetime()` Funktion für SQL/JSON path. Diese konvertiert korrekte Zeitformate (z. B. ISO 8601 strings) zu nativen PostgreSQL Datentypen. Zusätzlich enhält PostgreSQL 13 eine Funktion `gen_random_uuid()` um UUID v4 zu generieren. Die Installationen einer Erweiterung ist damitnicht mehr notwendig.

Das Partitionierungs-System wird flexibler indem partitionierte Tabellen nun zu 100% die logische Replikation unterstützen (vorher mussten die einzelnen Partitionen logisch repliziert werden). BEFORE row-level Trigger werden nun auch für partitionierte Tabellen unterstützt.

Die `FETCH FIRST` Syntax wurde erweitert, so dass nun auch die `WITH TIES` Klausel verwendet werden kann. Wird dies angegeben, wird `WITH TIES` alle Zeilen beinhalten die eine Verbindung zur letzten Zeile des Resultats haben (basierend auf der Sortierung des ORDER BY).

www.postgresql.org/download/

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.