14 Punkte von GN⁺ 2023-09-15 | 1 Kommentare | Auf WhatsApp teilen
  • PostgreSQL 16 verbessert die Performance deutlich durch spürbare Fortschritte bei Query-Parallelität, dem Laden großer Datenmengen und der logischen Replikation
  • Führt mehr SQL/JSON-Syntax, neue Monitoring-Statistiken für Workloads und mehr Flexibilität bei der Definition von Zugriffskontrollregeln ein

Performance-Verbesserungen

  • Der Query-Planer kann jetzt FULL- und RIGHT-Joins parallelisieren, erzeugt stärker optimierte Pläne für Abfragen mit DISTINCT- oder ORDER BY-Klauseln, nutzt inkrementelles Sortieren für SELECT DISTINCT-Abfragen und optimiert Window-Funktionen
  • Bulk-Loading mit COPY wurde sowohl für einzelne als auch gleichzeitige Operationen verbessert; in manchen Fällen steigt die Performance um bis zu 300 %
  • Führt CPU-Beschleunigung mit SIMD auf x86- und ARM-Architekturen ein und verbessert damit die Performance bei der Verarbeitung von ASCII- und JSON-Strings sowie beim Suchen in Arrays und Untertransaktionen

Logische Replikation

  • Logische Replikation kann nun auf Standby-Instanzen ausgeführt werden, was neue Optionen für die Verteilung von Workloads ermöglicht
    • Änderungen lassen sich statt über eine stark ausgelastete Primary über eine Standby an nachgelagerte Systeme replizieren
  • Auch die Performance der logischen Replikation wurde verbessert
    • Subscriber können große Transaktionen mit parallelen Workern anwenden
    • Bei Tabellen ohne Primärschlüssel können Zeilen über B-Tree-Indizes statt per sequenziellem Scan gefunden werden
    • Unter bestimmten Bedingungen kann das initiale Synchronisieren von Tabellen durch Nutzung des Binärformats beschleunigt werden

Developer Experience

  • Fügt weitere Syntax aus dem SQL/JSON-Standard hinzu, darunter Konstruktoren und Prädikate wie JSON_ARRAY(), JSON_ARRAYAGG() und IS JSON
  • Unterstriche in Tausenderzahlen sind jetzt möglich (5_432_000)
  • psql erhält \bind, sodass sich Abfragen mit Parametern schreiben und durch Variablen ersetzen lassen
  • Verbesserte Unterstützung für die Sortierung von Text

Monitoring

  • Fügt pg_stat_io hinzu, das Metriken für eine detaillierte Analyse von I/O-Zugriffsmustern bereitstellt
  • Fügt der View pg_stat_all_tables Timestamp-Felder hinzu, die erfassen, wann eine Tabelle oder ein Index zuletzt gescannt wurde
  • Macht auto_explain besser lesbar, indem an parametrisierte Statements übergebene Werte protokolliert werden

Zugriffskontrolle und Sicherheit

  • Bietet granularere Optionen für die Zugriffskontrolle
  • Verbessert weitere Sicherheitsfunktionen, darunter die Verwaltung der Dateien pg_hba.conf und pg_ident.conf sowie die Ergänzung mehrerer sicherheitsorientierter Client-Verbindungsparameter

1 Kommentare

 
GN⁺ 2023-09-15
Hacker-News-Kommentare
  • Die Veröffentlichung von PostgreSQL 16 wird wegen des Ausmaßes unbezahlter Arbeit und Denkarbeit, die nötig sind, um ein großes Open-Source-Projekt über Jahrzehnte hinweg zu pflegen, mit einer bedeutenden Leistung wie der Mondlandung verglichen.
  • Der Kommentator lobt das PostgreSQL-Team und betont die Bedeutung von Software-Infrastruktur, indem er sie mit physischer Infrastruktur wie Brücken und Straßen vergleicht.
  • PostgreSQL 16 hat die neue Funktion \bind eingeführt, die es ermöglicht, parametrisierte Abfragen wie in Anwendungen auszuführen, und dadurch an Beliebtheit gewinnt.
  • Die Ergänzung von SQL/JSON-Konstruktoren und Identitätsfunktionen gilt als Verbesserung der Lebensqualität in PostgreSQL 16.
  • Es gibt Vorfreude auf die Direct-I/O-Funktion, die derzeit hinter der Einstellung debug_io_direct steht.
  • Es gibt eine Frage nach Verbesserungen an der Funktion „vacuum“, die zur Optimierung der Datenbankleistung verwendet wird.
  • Es gibt eine Frage dazu, ob für künftige Releases standardmäßig transparente Verschlüsselung in Betracht gezogen wird.
  • Ein Nutzer drückt seine Begeisterung über das neue Release aus, erwähnt aber, dass er auf dem neuesten Debian PostgreSQL 15 installiert hat und eventuell die neuen Funktionen recherchieren muss, die für ihn nützlich sein könnten.