Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. In der Übung ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Regionsübergreifendes Disaster Recovery für PostgreSQL-Datenbanken auf VM mit physischer Standbyreplikation implementieren
Einführung
pg_basebackup
ist ein Befehlszeilenutility, das von PostgreSQL zur Ausführung eines vollständigen Backups eines ausgeführten PostgreSQL-Datenbankclusters bereitgestellt wird. Es wurde entwickelt, um eine binäre Kopie des Datenbankclusters zu erstellen, die für Replikations- oder Recovery-Zwecke verwendet werden kann.
pg_basebackup
ist ein Befehlszeilenutility, das von PostgreSQL zur Ausführung eines vollständigen Backups eines ausgeführten PostgreSQL-Datenbankclusters bereitgestellt wird. Es wurde entwickelt, um eine binäre Kopie des Datenbankclusters zu erstellen, die für Replikations- oder Recovery-Zwecke verwendet werden kann.
Einer der Hauptvorteile des Utilitys pg_basebackup
besteht darin, dass es funktioniert, ohne Zugriff auf das Dateisystem zu benötigen, in dem sich die Datenbank befindet. Stattdessen stellt er eine Verbindung zum PostgreSQL-Server über das Streaming-Replikationsprotokoll her, sodass die Verwendung auch während der Serverausführung sicher und bequem ist.
In der Regel in Verbindung mit der WAL-Archivierung (Write-Ahead Logging) spielt das Utility pg_basebackup
eine entscheidende Rolle beim Einrichten der Streamingreplikation und beim Sicherstellen von High Availability und Disaster Recovery für PostgreSQL-Umgebungen, die auf virtuellen Maschinen (VM) ausgeführt werden.
Wichtige Features:
-
Einfach zum Einrichten von Standby-Servern zu verwenden.
-
Unterstützt parallele Backups für eine schnellere Performance.
-
Ermöglicht Backupkomprimierung.
-
Kann WAL-Dateien für Point-in-Time Recovery enthalten.
In diesem Tutorial werden die Aufgaben zum Einrichten der regionsübergreifenden Streamingreplikation zwischen zwei PostgreSQL-Datenbanken beschrieben, die auf Compute-VMs gehostet werden.
Ziele
- Richten Sie regionsübergreifendes Disaster Recovery (DR) der PostgreSQL-Datenbank auf einer VM mit physischer Standbydatenbank in der DR-Region ein.
Voraussetzungen
Erstellen Sie VCN-Peering in der gesamten Region. Um regionsübergreifend eine Verbindung zu den Compute-VMs herzustellen, muss VCN-Peering eingerichtet werden. Weitere Informationen:
-
VCN-Peering implementieren: OCI-VCNs mit dynamischem Routinggateway in verschiedenen Regionen Peering.
-
Verwalten Sie dynamische Routinggateways (DRGs): Dynamische Routinggateways.
Stellen Sie sicher, dass das VCN-Peering korrekt konfiguriert ist, um eine nahtlose Konnektivität zwischen den Datenbanken in verschiedenen Regionen herzustellen.
Aufgabe 1: Primäre PostgreSQL-Datenbank einrichten
-
Erstellen Sie den Benutzer
replicator
in der primären PostgreSQL-Datenbank.CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD '*********';
-
Rollen/Benutzer validieren
postgres=# \du List of roles Role name | Attributes | Member of ----------------+------------------------------------------------------------+----------- admin | Superuser | {} guest | | {} mytestdb | | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} replicator | Replication
-
Aktualisieren Sie die Datei
postgresql.conf
mit den folgenden Details.listen_addresses = '*'
-
Aktualisieren Sie die Datei
pg_hba.conf
. Verwenden Sie die IP-Adresse der Standbydatenbank.host replication replicator Standby_DB_IP/32 md5
-
Starten Sie den PostgreSQL-Service neu.
sudo systemctl restart PostgreSQL
Aufgabe 2: Standbydatenbank PostgreSQL einrichten
-
Stoppen Sie den PostgreSQL-Service.
sudo systemctl stop PostgreSQL
-
Entfernen Sie die vorhandenen Binärdateien.
cp -R /var/lib/postgresql/13/main /var/lib/postgresql/13/main_old rm -rf /var/lib/postgresql/13/main
-
Führen Sie den Befehl
pg_basebackup
aus, um die Streamingreplikation einzurichten.pg_basebackup -h PrimaryDB_IP -D /var/lib/postgresql/13/main -U replicator -P -v -R -X stream -C -S slaveslot1
-
Starten Sie den PostgreSQL-Service.
sudo systemctl start PostgreSQL
Aufgabe 3: Streamingreplikation in der primären PostgreSQL-Datenbank prüfen
Führen Sie den folgenden Befehl in der primären PostgreSQL-Datenbank aus, um den Synchronisierungsstatus zwischen der primären und der DR-Datenbank zu erfassen.
SELECT * FROM pg_replication_slots;
SELECT * FROM pg_stat_replication;
Bestätigungen
- Autor – Snehaa Patnaik (Lift Implementation Expert – Database)
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Implement Cross Region Disaster Recovery for PostgreSQL Databases on VM Using Physical Standby Replication
G35545-01
Copyright ©2025, Oracle and/or its affiliates.