Korrektur-Updates für alle unterstützten PostgreSQL-Versionen: , , , , und . Die Version 9.4.26 ist die endgültige – die Vorbereitung von Updates für den Branch 9.4. . Updates für den Branch 9.5 werden bis Februar 2021 erstellt, 9.6 – bis November 2021, 10 – bis November 2022, 11 – bis November 2023, 12 – bis November 2024.
In neuen Versionen wurden 75 Fehler behoben und eine Sicherheitsanfälligkeit
(CVE-2020-1720), die durch fehlende Berechtigungsüberprüfung bei der Ausführung des Befehls „ALTER … DEPENDS ON EXTENSION“ verursacht wurde. Unter bestimmten Umständen ermöglicht die Sicherheitsanfälligkeit einem nicht privilegierten Benutzer, eine beliebige Funktion, Prozedur, materialisierte Sicht, Index oder Trigger zu löschen. Ein Angriff ist möglich, wenn der Administrator irgendeine Erweiterung installiert hat und der Benutzer den Befehl CREATE ausführen kann oder der Eigentümer der Erweiterung dazu überredet wird, den Befehl DROP EXTENSION auszuführen.
Zusätzlich ist die Einführung einer neuen Anwendung zu erwähnen, , die es ermöglicht, Daten zwischen mehreren PostgreSQL-Servern zu replizieren. Das Programm unterstützt die logische Replikation durch Streaming und die Wiedergabe von SQL-Befehlen, die auf dem Hauptserver zu Datenänderungen führen, auf einem anderen Host. Der Code ist in Go geschrieben und unter der Apache 2.0 Lizenz. Die wichtigsten Unterschiede zum integrierten Mechanismus der logischen Replikation:
- Unterstützung aller Arten von Zieltabellen (Views, fdw (Foreign Data Wrapper), partitionierte Tabellen, verteilte Tabellen citus);
- Möglichkeit zur Umbenennung von Tabellennamen (Replikation von einer Tabelle in eine andere);
- Unterstützung der bidirektionalen Replikation durch Übertragung nur lokaler Änderungen unter Ignorierung eingehender Replikationen;
- Existenz eines Konfliktlösungsmechanismus basierend auf dem LWW (Last-Writer-Win) Algorithmus;
- Möglichkeit, Informationen über den Fortschritt der Replikation und nicht angewandte Replikate in einer separaten Tabelle zu speichern, die zur Wiederherstellung nach dem Neustart des vorübergehend nicht verfügbaren Zielknotens genutzt werden kann.
Quelle: opennet.ru
