Entwicklung & Code

Postgres 18: Dreimal schnellere asynchrone Abfragen und virtuelle Spalten


Die neue Version von Postgres 18 bringt eine Reihe von Verbesserungen der Performance und neue Funktionen wie den Zugriff auf alte Werte bei INSERT oder virtuelle Spalten für Abfragen. Für die sichere Authentifizierung bietet die Datenbank OAuth 2 und für das Passwort-Hashing wird SHA-256 verpflichtend.

Die wichtigste Neuerung für beschleunigte Abfragen ist das asynchrone IO-Subsystem (AIO), das „bis zu dreifache Performance-Verbesserungen beim Lesen aus dem Speicher bewiesen hat“, heißt es in der Ankündigung. AIO beschleunigt Read-ahead-Prozesse, für die die Datenbank entsprechende Mechanismen des jeweiligen Betriebssystems nutzt. Diese Mechanismen kennen nicht alle Spezifika einer Datenbank und können oft nicht richtig vorhersagen, welche Daten demnächst benötigt werden. AIO stellt nun mehrere parallele asynchrone Anfragen und beschleunigt so Read-ahead-Abfragen. AIO-Operationen umfassen sequenzielle und Bitmap-Heap-Scans sowie den VACUUM-Befehl.

Anwenderinnen und Anwender können in den Einstellungen für io_method zwischen AIO und dem alten synchronen System umschalten. Weitere Geschwindigkeitsgewinne ergeben sich durch Skip-Scan-Suchen bei mehrspaltigen B-tree-Indizes sowie durch eine verbesserte Ausführung von table joins und hash joins. Hardware-Beschleunigung gibt es nun für ARM NEON und SVE CPU.

Lesen Sie auch

Die automatischen Statistiken gehen ab Postgres 18 auch bei großen Updates nicht verloren, sodass die durch die Statistik aufgebauten Systemerkenntnisse erhalten bleiben. Das garantiert verbesserte Leistungswerte über ein Update hinaus.

Entwicklerinnen und Entwickler legen mit Postgres 18 nun virtuelle Spalten an, die Abfragen verarbeiten, ohne dass die Datenbank diese speichert. Das ist künftig die Standardoption. Auch gespeichert erzeugte Tabellen können Anwender künftig logisch replizieren.

Erfreuen wird viele Developer, dass sie bei den Befehlen INSERT, UPDATE, DELETE und MERGE nun auch Zugriff auf alte (OLD) Werte haben und nicht nur und neuen (NEW). Außerdem können sie zufällige UUIDs mit uuidv7() einsetzen, die sich über Zeitstempel sortieren und besseres Caching erlauben.

Ferner lassen sich entfernte Tabellen auf der Basis von lokalen Schemata einfach mit dem Befehl CREATE FOREIGN TABLE ... LIKE erzeugen.

Für die Authentifizierung von Anwendern unterstützt Postgres 18 OAuth 2. Weitere Sicherheitsfunktionen sind eine SSL-Validierung mit FIPS und ein Parameter ssl_tls13_ciphers für TLS 1.3. Außerdem ist MD 5 für das Passwort-Hashing veraltet und wird demnächst deaktiviert. Postgres erfordert jetzt SCRAM-SHA-256

Details und weitere Neuerungen finden sich in der Ankündigung und den Release Notes.


(who)



Source link

Beliebt

Die mobile Version verlassen