Nach einem Jahr Entwicklung Die neue stabile Version der Datenbank PostgreSQL 12. Aktualisierungen fĂŒr die neue Version bis November 2024.
Haupt- :
- UnterstĂŒtzung fĂŒr ââ, deren Werte auf der Grundlage eines Ausdrucks berechnet werden, der die Werte anderer Spalten in derselben Tabelle umfasst (Ă€hnlich wie Ansichten, aber fĂŒr einzelne Spalten). Generierte Spalten können zwei Typen sein â gespeicherte und virtuelle. Im ersten Fall wird der Wert beim HinzufĂŒgen oder Ăndern von Daten berechnet, im zweiten Fall bei jedem Lesen basierend auf dem aktuellen Zustand anderer Spalten. Derzeit unterstĂŒtzt PostgreSQL nur gespeicherte generierte Spalten;
- Die Möglichkeit, Datenanfragen aus JSON-Dokumenten mithilfe von , die an die angelehnt sind und im SQL/JSON-Standard definiert sind. Um die Effizienz der Verarbeitung solcher AusdrĂŒcke fĂŒr Dokumente im JSONB-Format zu verbessern, werden bestehende Indexierungsmechanismen verwendet;
- Die Anwendung des JIT-Compilers (Just-in-Time) ist standardmĂ€Ăig aktiviert, basierend auf den Fortschritten von LLVM, um die AusfĂŒhrung bestimmter AusdrĂŒcke wĂ€hrend der SQL-Abfrageverarbeitung zu beschleunigen. Zum Beispiel ist JIT anwendbar zur Beschleunigung der AusfĂŒhrung von AusdrĂŒcken innerhalb von âWHEREâ-Klauseln, Auswahllisten (Target Lists), aggregierten AusdrĂŒcken und einigen internen Operationen;
- Die Leistung der Indizierung wurde erheblich gesteigert. B-Tree-Indizes sind optimiert fĂŒr Bedingungen mit hĂ€ufigen Ănderungen der Indizes â in den TPC-C-Tests wurde insgesamt eine Leistungssteigerung und eine durchschnittliche Reduzierung des Speicherplatzbedarfs um 40 % festgestellt. Die Overheadkosten bei der Erstellung des Vorschauf-Logs (WAL) fĂŒr GiST-, GIN- und SP-GiST-Indizes wurden gesenkt. FĂŒr GiST wurde die Möglichkeit zur Erstellung von Wrapper-Indizes (ĂŒber den Ausdruck INCLUDE) hinzugefĂŒgt, die zusĂ€tzliche Spalten enthalten. Bei der Operation wurde die UnterstĂŒtzung fĂŒr Statistiken ĂŒber die hĂ€ufigsten Werte (MCV) gewĂ€hrleistet, die die Erzeugung optimalerer AbfrageplĂ€ne bei der Nutzung ungleichverteilter Spalten ermöglichen;
- Die Implementierung der Partitionierung ist fĂŒr Anfragen optimiert, die Tabellen mit Tausenden von Partitionen umfassen, aber auf eine begrenzte Teilmenge von Daten zugreifen. Die Leistung beim HinzufĂŒgen von Daten zu partitionierten Tabellen wurde durch die Verwendung von INSERT- und COPY-Operationen verbessert, und es ist nun möglich, neue Partitionen ĂŒber âALTER TABLE ATTACH PARTITIONâ hinzuzufĂŒgen, ohne die AusfĂŒhrung von Anfragen zu blockieren.
- UnterstĂŒtzung fĂŒr die automatische Inline-Ausdehnung von allgemeinen TabellenausdrĂŒcken (, CTE) wurde hinzugefĂŒgt, die die Verwendung von temporĂ€ren benannten Ergebnismengen ermöglichen, die mit dem WITH-Befehl definiert werden. Die Inline-Ausdehnung verbessert die Leistung der meisten Anfragen, wird jedoch vorerst nur fĂŒr nicht rekursive CTEs verwendet.
- UnterstĂŒtzung hinzugefĂŒgt fĂŒr Eigenschaften der Lokalisierung âCollationâ, die Regeln fĂŒr die Sortierung und Vergleichsmethoden unter BerĂŒcksichtigung der Bedeutung von Zeichen definieren (zum Beispiel wird beim Sortieren von numerischen Werten das Vorhandensein eines Minus und eines Punktes vor der Zahl sowie verschiedene Schreibweisen berĂŒcksichtigt, wĂ€hrend beim Vergleichen GroĂ- und Kleinschreibung sowie Akzentzeichen ignoriert werden);
- Die UnterstĂŒtzung fĂŒr die Mehrfaktor-Authentifizierung des Clients wurde hinzugefĂŒgt, bei der in pg_hba.conf die Authentifizierung mit 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 , sowohl auf der Client- als auch auf der Serverseite, wurde hinzugefĂŒgt;
- Die UnterstĂŒtzung fĂŒr die Definition von LDAP-Servern basierend auf âDNS SRVâ-EintrĂ€gen wurde hinzugefĂŒgt, wenn PostgreSQL mit OpenLDAP kompiliert wurde;
- Eine Operation ââ wurde hinzugefĂŒgt, um Indizes ohne Blockierung von Schreiboperationen im Index neu zu erstellen;
- Das Kommando , die es ermöglicht, die ĂberprĂŒfung der PrĂŒfziffern fĂŒr Datenseiten fĂŒr eine vorhandene Datenbank zu aktivieren oder zu deaktivieren (frĂŒher wurde diese Operation nur wĂ€hrend der Initialisierung der Datenbank unterstĂŒtzt);
- Ein Fortschrittsanzeiger fĂŒr die AusfĂŒhrung von CREATE INDEX-, REINDEX-, CLUSTER-, VACUUM FULL- und pg_checksums-Operationen wurde bereitgestellt;
- Der Befehl ââ wurde hinzugefĂŒgt, um Handler fĂŒr neue Speicherzugriffsverfahren zu verbinden, die fĂŒr verschiedene spezifische Aufgaben optimiert sind. Derzeit ist die einzige eingebaute Zugriffsmethode fĂŒr Tabellen âheapâ.
- Die Konfigurationsdatei recovery.conf wurde mit postgresql.conf zusammengefĂŒhrt. Als Indikatoren fĂŒr den Ăbergang in den Wiederherstellungszustand nach einem Ausfall werden nun die Dateien recovery.signal und standby.signal verwendet.
Quelle: opennet.ru
