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í .

Respaldo incremental en PostgreSQL - Recuperación - Parte 3

## Recuperación Punto en el Tiempo (PITR) con PostgreSQL y Barman: guía, requisitos y buenas prácticas

Publicado el 13/09/2025

Introducción: Configurar copias de seguridad es imprescindible pero saber restaurarlas de forma efectiva cuando haga falta es aún más crucial. En PostgreSQL esto se resuelve con la recuperación punto en el tiempo o PITR, y Barman facilita su gestión y automatización. Ya sea para corregir un error humano, revertir un despliegue fallido o analizar el estado de la base de datos en un momento concreto, Barman permite retroceder y reproducir solo los cambios hasta un punto definido, partiendo de una copia completa.

Qué es PITR: La recuperación punto en el tiempo o PITR permite restaurar una base de datos PostgreSQL a un instante exacto del pasado. PostgreSQL registra todas las escrituras en archivos WAL o Write Ahead Logs y Barman utiliza esos WAL junto con una copia base para reproducir los cambios hasta el instante deseado, devolviendo la base de datos al estado capturado por las copias disponibles.

RPO y RTO: Antes de diseñar una estrategia de copias y restauración conviene entender dos conceptos fundamentales. RPO o Recovery Point Objective indica la máxima cantidad de datos que se puede permitir perder. Si se aceptan hasta 5 minutos de pérdida, el RPO será 5 minutos. RTO o Recovery Time Objective indica el máximo tiempo de inactividad tolerable tras un incidente. Si 30 minutos de caída son aceptables, el RTO será 30 minutos. En la práctica existe un equilibrio entre coste y criticidad del servicio: un sitio informativo puede tolerar RPO/RTO más altos mientras que una aplicación financiera suele requerir RPO/RTO cercanos a cero.

RPO y RTO con PostgreSQL y Barman: Con una pila open source bien configurada se pueden conseguir valores muy buenos. Un RPO cercano a cero es posible con replicación síncrona de PostgreSQL y un RTO mínimo se logra combinando Barman para backups y soluciones de alta disponibilidad para un failover rápido. Integrar Barman con automatizaciones y pruebas periódicas ayuda a cumplir los objetivos.

Pre requisitos para una restauración PITR: 1) Disponer de al menos una copia base válida en Barman que sirva de punto de partida. 2) Tener el archivado de WAL activo y verificado, con los segmentos disponibles en el repositorio de Barman. 3) Suficiente espacio en disco en el servidor de destino porque la restauración crea una copia nueva de los datos. 4) Definir el punto de restauración usando una marca temporal, un XID de transacción o el final de una copia si no se van a reproducir WAL. 5) Contar con un entorno de pruebas para ensayar restauraciones antes de tocar producción.

Ejemplo práctico con Barman y PostgreSQL: En un entorno de pruebas creamos una tabla y llenamos registros para simular cambios y una pérdida accidental. SQL para crear la tabla: CREATE TABLE articles ( id SERIAL PRIMARY KEY, title TEXT, content TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); Inserción de ejemplo usando quote dolar para evitar comillas: INSERT INTO articles (title, content) SELECT $$Article title $$ || i, $$Contenido de prueba para evaluar recuperación incremental y reproducción de WAL$$ FROM generate_series(1, 20) AS s(i); Tras esto se toma un backup incremental con Barman usando barman backup nombre_servidor. Para simular pérdida se pueden borrar filas pares: DELETE FROM articles WHERE id % 2 = 0; y comprobar el recuento con SELECT COUNT(id) FROM articles;

Recuperación punto en el tiempo con Barman: Antes de restaurar asegúrese de haber detenido PostgreSQL en el destino si va a restaurar la data directory principal. Identifique la copia base anterior al incidente y el timestamp objetivo. Un comando de recuperación típico sería: barman recover --remote-ssh-command=ssh postgres@192.168.58.11 --target-time=2025-04-15T20:17:58+00:00 pg 20250415T201754 /var/lib/postgresql/12/main Este comando copia la copia base, reproduce los segmentos WAL necesarios hasta el target time y genera la configuración de recuperación para arrancar PostgreSQL en el estado deseado. Tras el proceso, iniciar PostgreSQL y verificar que los datos han vuelto a su estado anterior con SELECT COUNT(id) FROM articles; debería devolver el conteo original.

Consejos prácticos para una estrategia PITR fiable: probar restauraciones periódicamente en entornos aislados, monitorear el archivado de WAL y la integridad de las copias, dimensionar el almacenamiento teniendo en cuenta el crecimiento de WAL, documentar procedimientos y automatizar pasos repetitivos para cumplir RTO objetivos. Integre pruebas de recuperación en su ciclo de despliegue y revise las configuraciones peligrosas que Barman pueda señalar en la copia restaurada antes de ponerla en producción.

Sobre Q2BSTUDIO: En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones que incluyen software a medida, inteligencia artificial y ciberseguridad. Ayudamos a empresas a implementar arquitecturas resilientes para bases de datos y a diseñar flujos de respaldo y recuperación automatizados que reducen RPO y RTO. Si necesita aplicaciones a medida para garantizar continuidad operativa y automatizar procesos, conozca nuestras capacidades en aplicaciones a medida y para migraciones y despliegues con alta disponibilidad explore nuestros servicios cloud aws y azure.

Servicios complementarios y keywords: Además del diseño e implementación de estrategias de backup y PITR ofrecemos servicios de ciberseguridad y pentesting para proteger procesos críticos, soluciones de inteligencia de negocio y Power BI para explotación analítica, desarrollo de agentes IA y proyectos de ia para empresas que integran modelos de machine learning en producción. Todo ello orientado a empresas que necesitan software robusto, seguro y optimizado para la continuidad del negocio.

Conclusión: Los errores humanos, la corrupción de datos o fallos hardware son inevitables. Tener la capacidad de retroceder PostgreSQL a un segundo exacto antes del incidente con Barman y PITR es una herramienta esencial para la continuidad del negocio. Combinar copias completas con WAL archivados, automatización de restores y pruebas regulares, y el apoyo de especialistas en software a medida e inteligencia artificial como los de Q2BSTUDIO aumenta significativamente la resiliencia y reduce el impacto de cualquier incidente.

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