POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Replicación y Conmutación por Fallo en PostgreSQL 16 con repmgr en dos nodos Ubuntu 24.04 LTS

## Replicación y Conmutación por Fallo en PostgreSQL 16 con repmgr en Dos Nodos Ubuntu 24.04 LTS

Publicado el 18/08/2025

inchirags at gmail.com Chirag's PostgreSQL DBA Tutorial https colon slash slash www dot chirags dot in

Administrar replicación y conmutación por error en un clúster PostgreSQL 16 usando repmgr en 02 nodos sobre Ubuntu 24.04 LTS

Resumen y objetivo del artículo Este artículo explica de forma práctica cómo desplegar y operar un clúster de alta disponibilidad PostgreSQL 16 con repmgr en dos nodos. Incluye requisitos previos, configuración básica, clonación de standby, registro de nodos, pruebas de conmutación por error y buenas prácticas. Al final se muestra cómo verificar que la replicación funciona y cómo promover un standby a primary en caso de fallo.

Qué es repmgr Repmgr es una suite de código abierto para gestionar clústeres HA PostgreSQL. Se integra con PostgreSQL para configurar el nodo primario, clonar réplicas, monitorizar el estado del clúster y ejecutar conmutaciones por error automáticas o manuales. Soporta un servidor primario en modo lectura escritura y una o varias réplicas en modo solo lectura.

Requisitos mínimos Dos máquinas con direcciones IP estáticas; ejemplo IPs usadas en este tutorial 192.168.224.128 para el primario y 192.168.224.129 para el standby. Acceso con usuario sudo. Conexión de red entre nodos y puertos necesarios abiertos, por ejemplo puerto 5432 TCP.

Secuencia general de pasos 1 Instalar PostgreSQL en ambos nodos 2 Asegurar el acceso a PostgreSQL y fijar contraseñas con una cuenta segura 3 Instalar repmgr y activar el servicio repmgrd 4 Habilitar conectividad SSH entre nodos usando claves para el usuario postgres 5 Crear el rol y la base de datos repmgr en el primario 6 Ajustar parámetros de replicación en postgresql.conf del primario 7 Añadir reglas de autenticación en pg_hba.conf del primario 8 Configurar el archivo de repmgr en ambos nodos 9 Registrar el servidor primario 10 Clonar y registrar el servidor standby

Instalación de PostgreSQL Actualice los repositorios e instale postgresql y postgresql contrib usando apt. Asegure que el servicio inicio automático está habilitado y que el servicio está activo. Reinicie si es necesario.

Acceso y seguridad Cambie la contraseña del usuario de sistema postgres con passwd y luego acceda con sudo -u postgres psql para comprobar la versión y aplicar una contraseña robusta al rol postgres dentro de la base de datos con ALTER USER postgres WITH PASSWORD y un valor seguro sin divulgarlo aquí. Salga con backslash q cuando termine.

Instalar repmgr Instale el paquete repmgr correspondiente a PostgreSQL 16 con apt get install postgresql 16 repmgr. Luego habilite y arranque el servicio repmgrd con systemctl enable y systemctl start.

Habilitar SSH entre nodos Genere una clave SSH para el usuario postgres en el primario con ssh keygen y copie la clave al standby usando ssh copy id para permitir conexiones sin contraseña entre postgres en los nodos. Verifique con ssh hacia la IP del otro nodo.

Crear el usuario y la base de datos repmgr En el nodo primario, con el usuario postgres, cree el rol con createuser con privilegios de superusuario para repmgr y la base de datos repmgr con createdb repmgr asignando repmgr como propietario.

Configuración de replicación en postgresql.conf En el primario ajuste parámetros clave listen addresses para aceptar conexiones desde los nodos del clúster, active shared preload libraries con repmgr, establezca wal level a replica, active archive mode y archive command si es necesario, configure max wal senders y max replication slots, habilite hot standby y wal log hints. Estos cambios se realizan únicamente en el primario porque repmgr propagará la configuración a las réplicas si se usa la opción adecuada al clonar.

Configuración de pg hba conf Añada entradas que permitan conexiones de replicación y acceso al rol repmgr desde las IP de primario y standby. Use métodos de autenticación seguros en entornos de producción y pruebe la conexión desde el standby hacia la base de datos repmgr del primario para validar acceso.

Configurar repmgr Crear un archivo de configuración en etc repmgr conf en cada nodo. En el primario defina node id igual a 1 node name como pg1 conninfo apuntando al host primario con usuario repmgr y base de datos repmgr data directory apuntando al directorio de datos de PostgreSQL active failover automatic y configure comandos de promote y follow que invoquen repmgr con la ruta al archivo de configuración. Defina ruta de log, nivel de log y timeouts razonables. En el standby configure node id 2 node name pg2 conninfo apuntando a la IP del standby y el resto de parámetros similares adaptados al nodo.

Registrar el primario Inicie sesión como postgres en el primario y ejecute repmgr con la opción primary register usando el archivo de configuración. Verifique con repmgr cluster show que el nodo con id 1 está registrado y en estado running y que la cadena de conexión es correcta.

Clonar y registrar el standby Detenga el servicio PostgreSQL en el standby antes de clonar. Desde el usuario postgres en el standby ejecute repmgr standby clone apuntando al primario y usando opciones para copiar archivos de configuración externos. Primero se puede hacer una ejecución en modo dry run para validar. Si todo está correcto, ejecute la clonación real posiblemente con la opción force si el directorio de datos contiene restos. Una vez completada la clonación, ajuste data directory en postgresql.conf del standby si fuera necesario y arranque el servicio PostgreSQL en el standby. Compruebe en el primario con SELECT from pg stat replication que el standby aparece con application name coincidiendo con node name y estado streaming.

Registrar el standby como réplica con repmgr standby register y confirmar con repmgr cluster show desde cualquiera de los nodos que ahora hay un primario y un standby registrados y en estado running o streaming.

Probar un evento de conmutación por error Para probar la conmutación por error cree una tabla de prueba en la base de datos postgres del primario y verifique su replicación en el standby. Luego simule un fallo deteniendo el servicio PostgreSQL en el primario. Observe que repmgrd detecta la caída y que el standby puede ser promovido a primario usando repmgr standby promote o mediante la promoción automática si está configurada. Verifique que tras la promoción el nuevo primario permite operaciones de escritura creando una nueva tabla y comprobando que la base de datos acepta las modificaciones.

Buenas prácticas y recomendaciones Use contraseñas robustas y gestione las claves SSH de forma segura. Haga copias de seguridad periódicas y pruebe la recuperación. Considere la seguridad de listen addresses y limite accesos por firewall. En entornos de producción use autenticación TLS y políticas de red para proteger el tráfico de replicación. Monitorice logs y métricas de replicación y ajuste parámetros como wal keep segments getwal size y slots según la carga.

Servicios y experiencia Q2BSTUDIO Somos Q2BSTUDIO empresa de desarrollo de software y aplicaciones a medida especialistas en inteligencia artificial ciberseguridad y servicios cloud aws y azure. Ofrecemos soluciones de software a medida que integran inteligencia de negocio y power bi para visualización avanzada, agentes IA para automatización de procesos y soluciones de ia para empresas que mejoran eficiencia y toma de decisiones. Nuestros servicios incluyen desarrollo de aplicaciones a medida software a medida consultoría en inteligencia artificial seguridad en la nube y estrategias de ciberseguridad para proteger datos y operaciones.

Palabras clave para posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes ia power bi Q2BSTUDIO

Soporte y contacto Si necesita ayuda con el despliegue de clústeres PostgreSQL replicación o alta disponibilidad contacte con Q2BSTUDIO para recibir consultoría personalizada implementación de soluciones gestionadas y formación. Podemos ayudar a diseñar arquitecturas seguras escalables y optimizadas para su carga de trabajo y a integrar capacidades de inteligencia artificial y reporting con power bi.

Conclusión Repmgr es una herramienta potente y probada para gestionar replicación y conmutación por error en PostgreSQL. Siguiendo los pasos descritos en este artículo es posible montar un clúster de alta disponibilidad en dos nodos sobre Ubuntu 24.04 LTS y validar operaciones de conmutación por error. Para implementaciones productivas recomendamos adaptar la configuración a sus políticas de seguridad, realizar pruebas de restore y failover y considerar la implicación de un proveedor experto como Q2BSTUDIO para proyectos críticos.

Nota Los comandos y configuraciones mostradas en este artículo son indicativos y deben adaptarse a cada entorno. Consulte la documentación oficial de PostgreSQL y repmgr para detalles avanzados y opciones adicionales.

Gracias por leer si desea más información sobre replicación PostgreSQL soluciones de software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure o inteligencia de negocio con power bi contacte con Q2BSTUDIO

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio