Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Implantación de Recuperación ante Desastres entre Regiones para Bases de Datos PostgreSQL en VM mediante Replicación Física en Espera
Introducción
pg_basebackup
es una utilidad de línea de comandos proporcionada por PostgreSQL para realizar una copia de seguridad completa de un cluster de base de datos PostgreSQL en ejecución. Está diseñado para crear una copia binaria del cluster de base de datos, que se puede utilizar para fines de replicación o recuperación.
pg_basebackup
es una utilidad de línea de comandos proporcionada por PostgreSQL para realizar una copia de seguridad completa de un cluster de base de datos PostgreSQL en ejecución. Está diseñado para crear una copia binaria del cluster de base de datos, que se puede utilizar para fines de replicación o recuperación.
Una de las ventajas clave de la utilidad pg_basebackup
es que funciona sin necesidad de acceder al sistema de archivos donde reside la base de datos. En su lugar, se conecta al servidor PostgreSQL mediante el protocolo de replicación de flujo, lo que hace que sea seguro y conveniente de usar incluso mientras el servidor se está ejecutando.
Normalmente se utiliza junto con el archivado de registro de escritura anticipada (WAL), la utilidad pg_basebackup
desempeña un papel crucial en la configuración de la replicación de transmisión y la garantía de alta disponibilidad y recuperación ante desastres para entornos PostgreSQL que se ejecutan en máquinas virtuales (VM).
Características principales:
-
Fácil de usar para configurar servidores en espera.
-
Soporta copias de seguridad paralelas para un rendimiento más rápido.
-
Permite la compresión de copia de seguridad.
-
Puede incluir archivos WAL para la recuperación point-in-time.
En este tutorial se describen las tareas para configurar la replicación de flujo entre regiones entre dos bases de datos PostgreSQL alojadas en máquinas virtuales informáticas.
Objetivos
- Configure la recuperación ante desastres (DR) entre regiones de la base de datos PostgreSQL en la máquina virtual con la base de datos física en espera en la región de DR.
Requisitos
Cree un intercambio de VCN en la región. Para conectarse a las máquinas virtuales de recursos informáticos en distintas regiones, se debe configurar el intercambio de VCN. Para obtener más información, consulte:
-
Implante el intercambio de VCN: intercambio de tráfico entre redes virtuales en la nube de OCI en diferentes regiones mediante el gateway de enrutamiento dinámico.
-
Gestionar gateways de enrutamiento dinámico (DRG): gateways de enrutamiento dinámico.
Asegúrese de que el intercambio de VCN esté configurado correctamente para establecer una conectividad perfecta entre las bases de datos de diferentes regiones.
Tarea 1: Configuración de la base de datos PostgreSQL principal
-
Cree el usuario denominado
replicator
en la base de datos PostgreSQL primaria.CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD '*********';
-
Valide los roles/usuarios.
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
-
Actualice el archivo
postgresql.conf
con los siguientes detalles.listen_addresses = '*'
-
Actualice el archivo
pg_hba.conf
. Utilice la dirección IP de la base de datos en espera.host replication replicator Standby_DB_IP/32 md5
-
Reinicie el servicio PostgreSQL.
sudo systemctl restart PostgreSQL
Tarea 2: Configuración de la base de datos PostgreSQL en espera
-
Pare el servicio PostgreSQL.
sudo systemctl stop PostgreSQL
-
Elimine los binarios existentes.
cp -R /var/lib/postgresql/13/main /var/lib/postgresql/13/main_old rm -rf /var/lib/postgresql/13/main
-
Ejecute el comando
pg_basebackup
para configurar la replicación de flujo.pg_basebackup -h PrimaryDB_IP -D /var/lib/postgresql/13/main -U replicator -P -v -R -X stream -C -S slaveslot1
-
Inicie el servicio PostgreSQL.
sudo systemctl start PostgreSQL
Tarea 3: Verificación de la replicación de Streaming en la base de datos PostgreSQL principal
Ejecute el siguiente comando en la base de datos PostgreSQL principal para recopilar el estado de sincronización entre la base de datos principal y la de DR.
SELECT * FROM pg_replication_slots;
SELECT * FROM pg_stat_replication;
Acuses de recibo
- Autor - Snehaa Patnaik (Experto en implantación de elevadores - Base de datos)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Implement Cross Region Disaster Recovery for PostgreSQL Databases on VM Using Physical Standby Replication
G35546-01
Copyright ©2025, Oracle and/or its affiliates.