Remarques :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Implémenter la récupération après sinistre inter-région pour les bases de données PostgreSQL sur une machine virtuelle à l'aide de la réplication de secours physique
Introduction
pg_basebackup
est un utilitaire de ligne de commande fourni par PostgreSQL pour effectuer une sauvegarde complète d'un cluster de base de données PostgreSQL en cours d'exécution. Il est conçu pour créer une copie binaire du cluster de base de données, qui peut être utilisée à des fins de réplication ou de récupération.
pg_basebackup
est un utilitaire de ligne de commande fourni par PostgreSQL pour effectuer une sauvegarde complète d'un cluster de base de données PostgreSQL en cours d'exécution. Il est conçu pour créer une copie binaire du cluster de base de données, qui peut être utilisée à des fins de réplication ou de récupération.
L'un des principaux avantages de l'utilitaire pg_basebackup
est qu'il fonctionne sans nécessiter d'accès au système de fichiers où réside la base de données. Au lieu de cela, il se connecte au serveur PostgreSQL à l'aide du protocole de réplication en continu, ce qui le rend sûr et pratique à utiliser même pendant l'exécution du serveur.
Généralement utilisé conjointement avec l'archivage de la journalisation anticipée en écriture (WAL), l'utilitaire pg_basebackup
joue un rôle crucial dans la configuration de la réplication en continu et dans la garantie de la haute disponibilité et de la récupération après sinistre pour les environnements PostgreSQL exécutés sur des machines virtuelles.
Fonctionnalités clés:
-
Facile à utiliser pour configurer les serveurs de secours.
-
Prend en charge les sauvegardes parallèles pour des performances plus rapides.
-
Permet la compression des sauvegardes.
-
Peut inclure des fichiers WAL pour la récupération jusqu'à un point dans le temps.
Ce tutoriel décrit les tâches de configuration de la réplication en continu inter-région entre deux bases de données PostgreSQL hébergées sur des machines virtuelles de calcul.
Objectifs
- Configurez la récupération après sinistre inter-région de la base de données PostgreSQL sur la machine virtuelle avec la base de données de secours physique dans la région de récupération après sinistre.
Prérequis
Créez un appairage VCN dans toute la région. Pour vous connecter aux machines virtuelles de calcul d'une région à l'autre, l'appairage VCN doit être configuré. Pour plus d'informations, reportez-vous aux sections suivantes :
-
Implémentez l'appairage VCN : appairage de réseaux cloud virtuels OCI dans différentes régions à l'aide de la passerelle de routage dynamique.
-
Gérer les passerelles de routage dynamique : Passerelles de routage dynamique.
Assurez-vous que l'appairage VCN est correctement configuré pour établir une connectivité transparente entre les bases de données dans différentes régions.
Tâche 1 : configuration de la base de données principale PostgreSQL
-
Créez l'utilisateur nommé
replicator
dans la base de données principale PostgreSQL.CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD '*********';
-
Validez les rôles/utilisateurs.
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
-
Mettez à jour le fichier
postgresql.conf
avec les détails suivants.listen_addresses = '*'
-
Mettez à jour le fichier
pg_hba.conf
. Utilisez l'adresse IP de la base de données de secours.host replication replicator Standby_DB_IP/32 md5
-
Redémarrez le service PostgreSQL.
sudo systemctl restart PostgreSQL
Tâche 2 : configurer la base de données PostgreSQL de secours
-
Arrêtez le service PostgreSQL.
sudo systemctl stop PostgreSQL
-
Supprimez les fichiers binaires existants.
cp -R /var/lib/postgresql/13/main /var/lib/postgresql/13/main_old rm -rf /var/lib/postgresql/13/main
-
Exécutez la commande
pg_basebackup
pour configurer la réplication de transmission en continu.pg_basebackup -h PrimaryDB_IP -D /var/lib/postgresql/13/main -U replicator -P -v -R -X stream -C -S slaveslot1
-
Démarrez le service PostgreSQL.
sudo systemctl start PostgreSQL
Tâche 3 : vérifier la réplication en continu sur la base de données PostgreSQL principale
Exécutez la commande suivante sur la base de données PostgreSQL principale pour collecter le statut de synchronisation entre la base de données principale et la base de données de récupération après sinistre.
SELECT * FROM pg_replication_slots;
SELECT * FROM pg_stat_replication;
Accusés de réception
- Auteur - Snehaa Patnaik (Expert en implémentation de lift - Base de données)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Implement Cross Region Disaster Recovery for PostgreSQL Databases on VM Using Physical Standby Replication
G35548-01
Copyright ©2025, Oracle and/or its affiliates.