PostgreSQL 13 verfügbar
Am 24. September wurden das PostgreSQL Releases 13 freigegeben. Dieses bringt wieder umfangreiche Optimierungen im Bereich Performance sowie einige neue Features wie "parallelized vacuuming" und "incremental sorting" mit sich. Hier eine Zusammenfassung der Neuerungen:
Performance Optimierungen
Als Erweiterung zu den Entwicklungen in bisherigen Releases, behandelt PostgreSQL 13 nun duplizierte Daten in B-tree Indexen viel effizienter. Dies verringert den Platzverbrauch und optimiert die Zugriffe und die Gesamtperformance.
PostgreSQL 13 erlaubt das neue Feature "incremental sorting", bei dem sortierte Daten von einem vorhergehenden Schritt einer Query das Sortieren in einem späteren Schritt beschleunigen können. Zusätzlich kann PostgreSQL jetzt das "extended statistics system" (Zugriff via CREATE STATISTICS
) verwenden, um optimierte Pläne für Queries mit OR
Klauseln und IN
/ANY
Lookups zu erstellen.
In PostgreSQL 13 verwenden mehr Typen von "aggregate" and "grouping set" Queries die effiziente "hash aggregation functionality". Queries mit partitionierten Tabellen erhalten einen Performance Schub, weil in mehr Fällen "partition pruning" angewendet und Partitionen verknüpft werden können.
Optimierungen im Bereich Administration
PostgreSQL 13 verbessert weiterhin das "vacuuming system" mit der Einführung von "parallelized vacuum for indexes". Neben dem Perforancegewinn, welchen dieses Feature mit sich bringt, kann der Administrator die Einstellungen für spezifische Workloads weiter optimieren. Außerdem können neu eingefügte Datensätze den "autovacuum process" direkt aktivieren.
Die "replication slots", welche verhindern sollen, das ein "write-ahead log" (WAL) gelöscht wird, bevor eine Replikat davon angelegt wurde, können in PostgreSQL 13 nun durch die Einstellung "max number of Wal files to retain" optimiert werden, um wiederum "out-of-disk" Fehler zu vermeiden.
PostgreSQL 13 fügt weitere Funktionen zum Moitoring und der Analyse der Datenbank Aktivität hinzu. So z.B. das Referenzieren der "WAL usage statistics" beimEXPLAIN
, Fortschrittsanzeigen für "base backups" und des ANALYZE
Kommandoes. Außerdem kann die Integrität der Ausgabe von pg_basebackup
durch das Kommando pg_verifybackup
nun verfiziert werden.
Opimierungen im Bereich Applicationsentwicklung
Dieses Release fügt die Funktion datetime()
hinzu, welche valide Zeit-Formate (z.B. ISO 8601 Zeichenketten) in PostgreSQL native Typen umwandelt. Außerdem ist die UUID v4 Funktiongen_random_uuid()
jetzt nativ verfügbar, ohne das eine Erweiterung installiert werden muss.
Das PostgreSQL Partitionierungssystem ist nun flexibler, da partitionierte Tabellen jetzt vollständig die logische Replikation und BEFORE row-level Trigger untersützen.
Der FETCH FIRST
syntax in PostgreSQL 13, wurde um die Klausel WITH TIES
erweitert.
Security Erweiterungen
In der Vergangenheit konnten Erwiterungen nur als Datenbank Superuser installiert werden. Um hier flexibler zu werden, erlaubt PostgreSQL 13 die Installation von Erweiterungen auch durch normale Datenbank Benutzer, wenn die Erweiterung durch den Superuser als "trusted" markiert wurde. Einige mitgelieferte Erweiterungen sind von Haus aus "trusted", wie z.B. pgcrypto
, tablefunc
, hstore
und weitere.
Für Applikationen, die sichere Authentifizierungsmetoden benötigen, erlaubt PostgreSQL 13 Clients bei Anwendung der "SCRAM authentication" jetzt die Funktion"require channel binding" anzufordern und der "PostgreSQL Foreign Data Wrapper" (postgres_fdw
) kann nun Zertifikat basierende Authentifizierung verwenden.
Weitere Informationen erhalten Sie in der Veröffentlichung der PostgreSQL Global Development Group
Kommentare
Keine Kommentare