Release der Datenbank PostgreSQL 12

Nach einem Jahr Entwicklung veröffentlicht Die neue stabile Version des Datenbanksystems PostgreSQL 12. Updates für diese Version werden in den nächsten fünf Jahren bis November 2024 erscheinen.

Haupt Neuheiten:

  • Es wurde Unterstützung für „generierte Spalten“ hinzugefügt, deren Werte auf Grundlage von Ausdrücken berechnet werden, die die Werte anderer Spalten in derselben Tabelle umfassen (ähnlich wie bei Sichten, aber für einzelne Spalten). Generierte Spalten können zwei Typen haben – gespeicherte und virtuelle. Im ersten Fall wird der Wert beim Hinzufügen oder Ändern von Daten berechnet, während er im zweiten Fall bei jedem Lesen basierend auf dem aktuellen Zustand anderer Spalten ermittelt wird. Aktuell werden in PostgreSQL nur gespeicherte generierte Spalten unterstützt;
  • Es wurde die Möglichkeit hinzugefügt, Datenabfragen aus JSON-Dokumenten mit Hilfe von Path-Ausdrücken, die an XPath erinnert sind und im SQL/JSON-Standard definiert sind. Um die Effizienz der Verarbeitung solcher Ausdrücke für in JSONB-Format gespeicherte Dokumente zu steigern, werden bestehende Indexierungsmechanismen angewendet;
  • Die Verwendung des JIT-Compilers (Just-in-Time), basierend auf LLVM-Technologien, ist standardmäßig aktiviert, um die Ausführung bestimmter Ausdrücke während der Verarbeitung von SQL-Abfragen zu beschleunigen. Zum Beispiel wird JIT verwendet, um die Ausführung von Ausdrücken innerhalb der "WHERE"-Klauseln, in Ziellisten, aggregierten Ausdrücken und einigen internen Operationen zu verbessern.
  • Die Leistung bei der Indizierung wurde erheblich gesteigert. B-Baum-Indizes sind für häufige Indexänderungen optimiert – in TPC-C-Tests zeigt sich eine allgemeine Verbesserung der Leistung und eine durchschnittliche Reduzierung des Speicherplatzbedarfs um 40 %. Die Overhead-Kosten bei der Erstellung von Write-Ahead-Log (WAL) für GiST-, GIN- und SP-GiST-Indexarten wurden gesenkt. Für GiST wurde die Möglichkeit hinzugefügt, Wrapper-Indizes (über den Ausdruck INCLUDE) zu erstellen, die zusätzliche Spalten einbeziehen. CREATE STATISTICS Die Unterstützung für Statistiken über die häufigsten Werte (MCV) wurde bereitgestellt, die es ermöglicht, optimiertere Abfragepläne bei der Verwendung von ungleich verteilten Spalten zu generieren.
  • Die Umsetzung der Partitionierung wurde optimiert für Abfragen, die Tabellen mit Tausenden von Partitionen betreffen, jedoch auf die Auswahl einer begrenzten Datensubmenge beschränkt sind. Die Leistung beim Hinzufügen von Daten zu partitionierten Tabellen wurde durch die Operationen INSERT und COPY erhöht, und es wurde die Möglichkeit geschaffen, neue Partitionen über „ALTER TABLE ATTACH PARTITION“ ohne Sperrung der Abfrageausführung hinzuzufügen;
  • Die Unterstützung für automatisches Inline-Deployment von allgemeinen Tabellenausdrücken (Common Table Expression, CTE) wurde hinzugefügt, die es ermöglichen, temporäre benannte Resultsets zu verwenden, die mit dem Operator WITH definiert werden. Das Inline-Deployment kann die Leistung der meisten Abfragen verbessern, wird bisher jedoch nur für nicht rekursive CTEs angewendet;
  • Unterstützung für nicht deterministischen Kollationseigenschaften, die es ermöglichen, Sortierregeln und Vergleichsmethoden basierend auf der Bedeutung von Zeichen festzulegen (beispielsweise wird beim Sortieren von numerischen Werten das Vorhandensein von Minus und Punkt vor der Zahl sowie verschiedene Schreibweisen berücksichtigt, während bei Vergleichen die Groß-/Kleinschreibung und die Verwendung von diakritischen Zeichen ignoriert werden);
  • Die Unterstützung für die Mehrfaktor-Authentifizierung des Kunden wurde hinzugefügt, bei der in pg_hba.conf die Authentifizierung über das SSL-Zertifikat (clientcert=verify-full) mit einer zusätzlichen Authentifizierungsmethode wie scram-sha-256 kombiniert werden kann;
  • Die Unterstützung für die Verschlüsselung des Kommunikationskanals bei der Authentifizierung über GSSAPI, sowohl auf der Client- als auch auf der Serverseite, wurde hinzugefügt;
  • Die Unterstützung zur Erkennung von LDAP-Servern auf Basis von „DNS SRV“-Einträgen wurde hinzugefügt, sofern PostgreSQL mit OpenLDAP kompiliert wurde;
  • Die Operation „REINDEX CONCURRENTLY“ zur Rekonstruktion von Indizes ohne Sperrung von Schreiboperationen im Index wurde hinzugefügt;
  • Der Befehl pg_checksums, der es ermöglicht, die Überprüfung der Prüfziffern von Datenseiten für eine bestehende Datenbank zu aktivieren und zu deaktivieren (diese Operation wurde zuvor nur während der Initialisierung der Datenbank unterstützt), wurde hinzugefügt;
  • Die Ausgabe eines Fortschrittsindikators für die Ausführung der Operationen CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL und pg_checksums wurde gewährleistet;
  • Der Befehl „CREATE ACCESS METHOD“ wurde hinzugefügt, um Handler für neue Speicherzugriffsmethoden zu verbinden, die für verschiedene spezifische Aufgaben optimiert sind. Derzeit ist die einzige integrierte Methode für den Zugriff auf Tabellen „heap“.
  • Die Konfigurationsdatei recovery.conf wurde mit postgresql.conf zusammengeführt. Als Indikatoren für den Übergang in den Wiederherstellungsmodus nach einem Ausfall werden nun folgt die Dateien recovery.signal und standby.signal verwendet.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster