Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Démarrer avec le niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Mettre en oeuvre 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
Présentation
pg_basebackup
est un utilitaire de ligne de commande fourni par PostgreSQL pour effectuer une sauvegarde complète d'une grappe 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'une grappe 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 l'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.
Habituellement utilisé en conjonction avec l'archivage WAL (écriture anticipée), l'utilitaire pg_basebackup
joue un rôle crucial dans la configuration de la réplication en continu et la garantie d'une haute disponibilité et d'une reprise après sinistre pour les environnements PostgreSQL exécutés sur des machines virtuelles.
Principales fonctions :
-
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 une 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 une machine virtuelle avec une base de données de secours physique dans la région RS.
Préalables
Créez un appairage de VCN dans la région. Pour se connecter aux machines virtuelles de calcul entre les régions, l'appairage de VCN doit être configuré. Pour plus d'informations, voir :
-
Mettez en oeuvre l'appairage de réseau VCN : Appairage de réseaux en nuage virtuels OCI dans différentes régions à l'aide de la passerelle de routage dynamique.
-
Manage Dynamic Routing Gateways (DRG) : Dynamic Routing Gateways.
Assurez-vous que l'appairage de VCN est correctement configuré pour établir une connectivité transparente entre les bases de données de différentes régions.
Tâche 1 : Configurer la base de données PostgreSQL principale
-
Créez l'utilisateur nommé
replicator
dans la base de données PostgreSQL principale.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 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 les bases de données principale et DR.
SELECT * FROM pg_replication_slots;
SELECT * FROM pg_stat_replication;
Remerciements
- Auteur - Snehaa Patnaik (Expert en mise en oeuvre d'ascenseur - Base de données)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Implement Cross Region Disaster Recovery for PostgreSQL Databases on VM Using Physical Standby Replication
G35547-01
Copyright ©2025, Oracle and/or its affiliates.