Nach einem Jahr Entwicklung neue stabile Version von DBMS . Updates für die neue Version für fünf Jahre bis November 2025.
:
- Unterstützung für das parallele Bauen von Paketen auf Mehrkernsystemen wurde implementiert. Die Anzahl der Threads kann über das Makro „%_smp_build_ncpus“ und die Variable $RPM_BUILD_NCPUS festgelegt werden. Zur Bestimmung der Anzahl der CPUs wurde das Makro „%getncpus“ vorgeschlagen; von Aufzeichnungen in B-Tree-Indexes, was die Abfragegeschwindigkeit erhöht und den Speicherverbrauch beim Indizieren von Datensätzen mit wiederholten Daten reduziert. Die Deduplication erfolgt durch regelmäßige Ausführung eines Prozesses, der Gruppen wiederholter Tupel zusammenführt und Duplikate durch Verweise auf eine gespeicherte Kopie ersetzt.
- Die Leistung von Abfragen, die , (GROUPING SETS) oder Tabellen. Die Optimierungen sind auf die Verwendung von Hashes anstelle der tatsächlichen Daten während der Aggregation zurückzuführen, was die Notwendigkeit verringert, alle Daten im Speicher zu halten, wenn große Abfragen verarbeitet werden. Bei der Partitionierung wurden die Situationen erweitert, in denen Partitionen verworfen oder zusammengeführt werden können.
- Die Möglichkeit zur Nutzung wurde hinzugefügt , die bei Verwendung des Befehls „CREATE STATISTICS“ erstellt wird, um die Effizienz der Abfrageplanung zu verbessern, die Bedingungen „OR“ enthält oder in Listen mit den Ausdrücken „IN“ oder „ANY“ sucht.
- Die Indizes werden bei der Ausführung der Operation beschleunigt durch die Parallelisierung der Müllabfuhr in den Indizes. Mit dem neuen Parameter „PARALLEL“ kann der Administrator die Anzahl der Threads bestimmen, die gleichzeitig für VACUUM ausgeführt werden. Außerdem wurde die Möglichkeit hinzugefügt, die automatische Ausführung von VACUUM nach Dateninsertionsvorgängen zu initiieren.
- Es wurde Unterstützung für inkrementelle Sortierung hinzugefügt, die es ermöglicht, Daten, die in einem vorherigen Schritt sortiert wurden, zu verwenden, um die Sortierung in späteren Verarbeitungsschritten zu beschleunigen. Um die neue Optimierung im Abfrageplaner zu aktivieren, wurde die Einstellung „“ hinzugefügt, die standardmäßig aktiviert ist.
- Die Möglichkeit zur Begrenzung der Größe wurde hinzugefügt , die automatisch die Speicherung von Log-Segmenten der Write-Ahead-Logging (WAL) garantieren, bis sie von allen Standby-Servern, die Replikate empfangen, erhalten werden. Replikationsslots verhindern zudem, dass der primäre Server Zeilen löscht, die zu Konflikten führen könnten, selbst wenn der Backup-Server offline ist. Mit dem Parameter kann jetzt die maximale Größe der WAL-Dateien begrenzt werden, um einen Speicherplatzmangel auf der Festplatte zu verhindern.
- Die Überwachungsmöglichkeiten der Datenbankaktivitäten wurden erweitert: Der Befehl EXPLAIN zeigt zusätzliche Statistiken zur Nutzung des WAL-Logs an; in der wurde die Möglichkeit geschaffen, den Status kontinuierlicher Backups zu verfolgen; der Befehl ANALYZE bietet eine Fortschrittsanzeige für die Durchführung der Operation.
- Ein neuer Befehl wurde hinzugefügt zur Überprüfung der Integrität von Backups, die mit dem Befehl pg_basebackup erstellt wurden.
- Bei der Arbeit mit JSON unter Verwendung von Operatoren Die Verwendung der Funktion datetime() zur Umwandlung von Zeitformaten (ISO 8601-Strings und PostgreSQL-inhärenten Zeittypen) ist erlaubt. Beispielsweise können Konstruktionsweisen wie «jsonb_path_query(‘[„2015-8-1“, „2015-08-12“]’, ‘$[*] ? (@.datetime() < "2015-08-2".datetime())')» und «jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')» angewendet werden.
- Eine integrierte Funktion wurde hinzugefügt zur Generierung von UUID v4-Identifikatoren.
- Im Partitionssystem wurde die vollständige Unterstützung für logische Replikation und durch Ausdrücke definierte «BEFORE»
Trigger auf Zeilenebene implementiert. - Die Syntax «» erlaubt jetzt die Verwendung des Ausdrucks «WITH TIES», der zusätzliche Zeilen zurückgeben kann, die sich am Ende des Ergebnissets befinden, das nach Anwendung von «ORDER BY» erhalten wird.
- Das Konzept vertrauenswürdiger Erweiterungen (««) wurde eingeführt, die von normalen Benutzern ohne Administratorrechte des DBMS installiert werden können. Die Liste solcher Erweiterungen ist vorab definiert und kann von einem Superuser erweitert werden. Zu den vertrauenswürdigen Erweiterungen gehören , , usw.
- Im Mechanismus zur Anbindung externer Tabellen durch Foreign Data Wrapper (postgres_fdw) wird die Unterstützung für die Zertifikat-basierte Authentifizierung realisiert. Bei Verwendung der SCRAM-Authentifizierung haben Clients die Möglichkeit, die "" (channel binding) anzufordern.
Quelle: opennet.ru
