Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überblick über die logische Replikation von PostgreSQL mit Aurora
Durch die Verwendung der logischen Replikationsfunktion von PostgreSQL mit Ihrem DB-Cluster von Aurora PostgreSQL können Sie einzelne Tabellen statt der gesamten Datenbank-Instance replizieren und synchronisieren. Für die logische Replikation wird ein Veröffentlichungs- und Abonnementmodell verwendet, um Änderungen aus einer Quelle an einen oder mehrere Empfänger zu replizieren. Dazu werden Änderungsdatensätze aus dem Write-Ahead-Protokoll (WAL) von PostgreSQL verwendet. Die Quelle oder der Herausgeber sendet WAL-Daten für die angegebenen Tabellen an einen oder mehrere Empfänger (Abonnenten). Dadurch werden die Änderungen repliziert und die Tabelle eines Abonnenten wird mit der Tabelle des Herausgebers synchronisiert. Die Änderungen des Herausgebers werden anhand einer Veröffentlichung identifiziert. Abonnenten erhalten die Änderungen, indem sie ein Abonnement erstellen, das die Verbindung mit der Datenbank des Herausgebers und den entsprechenden Veröffentlichungen definiert. Ein Replikationsslot ist der Mechanismus, der in diesem Schema verwendet wird, um den Fortschritt eines Abonnements zu verfolgen.
Bei DB-Clustern von Aurora PostgreSQL werden die WAL-Datensätze im Aurora-Speicher abgelegt. Der DB-Cluster von Aurora PostgreSQL, der in einem logischen Replikationsszenario als Herausgeber fungiert, liest die WAL-Daten aus dem Aurora-Speicher, dekodiert sie und sendet sie an den Abonnenten, sodass die Änderungen auf die Tabelle in dieser Instance angewendet werden können. Der Herausgeber verwendet einen logischen Decoder, um die Daten für die Verwendung durch Abonnenten zu dekodieren. Standardmäßig verwenden DB-Cluster von Aurora PostgreSQL beim Senden von Daten das native pgoutput-Plugin von PostgreSQL. Es sind auch andere logische Decoder verfügbar. Zum Beispiel unterstützt Aurora PostgreSQL auch das wal2json-Plugin, das WAL-Daten in JSON konvertiert.
Ab Aurora PostgreSQL Version 14.5, 13.8, 12.12 und 11.17 erweitert Aurora PostgreSQL den logischen Replikationsprozess von PostgreSQL um einen Write-Through-Cache, um die Leistung zu verbessern. Die WAL-Transaktionsprotokolle werden lokal in einem Puffer zwischengespeichert, um die Menge an Festplatten-I/O zu reduzieren, d. h. es wird während der logischen Dekodierung aus dem Aurora-Speicher gelesen. Der Write-Through-Cache wird standardmäßig verwendet, wenn Sie die logische Replikation für Ihren DB-Cluster von Aurora PostgreSQL verwenden. Aurora bietet mehrere Funktionen, mit denen Sie den Cache verwalten können. Weitere Informationen finden Sie unter Überwachen des Write-Through-Caches für die logische Replikation in Aurora PostgreSQL.
Die logische Replikation wird von allen derzeit verfügbaren Aurora-PostgreSQL-Versionen unterstützt. Weitere Informationen finden Sie unter Aktualisierungen von Amazon Aurora PostgreSQL im Abschnitt Versionshinweise für Aurora PostgreSQL.
Die logische Replikation wird von Babelfish für Aurora PostgreSQL in den folgenden Versionen unterstützt:
-
15.7 und höhere Versionen
-
16.3 und höhere Versionen
Anmerkung
Zusätzlich zu der in PostgreSQL 10 eingeführten nativen logischen Replikationsfunktion von PostgreSQL unterstützt Aurora PostgreSQL auch die pglogical-Erweiterung. Weitere Informationen finden Sie unter Verwenden von pglogical, um Daten zwischen Instances zu synchronisieren.
Weitere Informationen über die logische Replikation in PostgreSQL finden Sie unter Logical Replication
Anmerkung
PostgreSQL 16 hat Unterstützung für die logische Dekodierung von Read Replicas hinzugefügt. Diese Funktion wird in Aurora PostgreSQL nicht unterstützt.