Veröffentlichung der PostgreSQL-Datenbankversion 12

Nach einem Jahr Entwicklung wurde veröffentlicht Die neue stabile Version der Datenbank PostgreSQL 12. Aktualisierungen fĂŒr die neue Version werden veröffentlicht bis November 2024.

Haupt- Neuheiten:

  • UnterstĂŒtzung fĂŒr „generierte Spalten“, 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 Pfad-AusdrĂŒcken, die an die XPath 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 CREATE STATISTICS 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 (Common Table Expression, 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 nicht deterministischen 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 GSSAPI, 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 „REINDEX CONCURRENTLY„ wurde hinzugefĂŒgt, um Indizes ohne Blockierung von Schreiboperationen im Index neu zu erstellen;
  • Das Kommando pg_checksums, 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 „CREATE ACCESS METHOD“ 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 sollte die Dateien recovery.signal und standby.signal verwendet.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster