PostgreSQL es un sistema de bases de datos relacionales de objetos de código abierto potente que usa y amplía el lenguaje SQL combinado con muchas funciones que almacenan y escalan de forma segura las cargas de trabajo de datos más complejas.
API de copia de seguridad de PostgreSQL usada por Backup and DR
Copias de seguridad a nivel de volumen (seguimiento de cambios de bloques de Linux y copia de seguridad de LVM): Backup and DR usa los comandos
pg_start_backup(label)
ypg_stop_backup()
de PostgreSQL cuando realiza copias de seguridad con el seguimiento de cambios de bloques de Linux y la copia de seguridad de LVM.Copias de seguridad completas e incrementales (tradicionales basadas en archivos): Backup and DR usa los comandos de copias de seguridad basados en archivos de
pg_dump
PostgreSQL. El comandopg_dump
no tiene una opción para capturar los cambios incrementales de una base de datos, por lo que cada copia de seguridad es una copia de seguridad completa de la base de datos.La restauración de la base de datos recupera la base de datos sobrescribiendo físicamente el área de datos.
Copia de seguridad de registros de PostgreSQL: durante una copia de seguridad de registros, Backup and DR copia físicamente todos los WALs de PostgreSQL (
WriteAheadLog
). Para purgar registros, Backup and DR usa un comando a nivel de SO.
Cómo funciona: copia de seguridad basada en volúmenes de Backup and DR con CBT de Linux
En el mapa de bits solo se registran los bloques modificados: no se realizan copias al escribir ni operaciones de E/S intensivas.
En los siguientes pasos se describe el proceso de creación de copias de seguridad y recuperación de datos:
El agente de Backup and DR tiene CBT para monitorizar los bloques modificados en el área de datos de la base de datos.
El agente llama a la API de la base de datos para congelar o pausar la base de datos para crear una copia de seguridad de los datos.
El agente crea una instantánea de LVM del área de datos de la base de datos y sintetiza un mapa de bits.
Llamada del agente a la API de la base de datos para descongelarla.
El agente copia los bloques modificados en el dispositivo de copia de seguridad o recuperación, que elimina la instantánea y cataloga la copia de seguridad.
El dispositivo genera una copia de seguridad interna y sintetiza una copia de seguridad completa virtual en un momento determinado.
Para la recuperación de datos, Backup and DR monta al instante un disco de almacenamiento provisional regrabable y pone la base de datos online.
El comando quiesce o unquiesce se ejecuta en el primario de un trabajo de creación de instantáneas a nivel de volumen:
select pg_start_backup(<label>);
select pg_stop_backup();
Los comandos quiesce y unquiesce se ejecutan en un nodo de espera para una tarea de creación de una copia de seguridad a nivel de volumen:
Si la versión de PostgreSQL es la 10.x o una posterior:
select pg_wal_replay_pause();
select pg_wal_replay_resume();
Si la versión de PostgreSQL es 9.x:
select pg_xlog_replay_pause();
select pg_xlog_replay_resume();
Cómo funciona: copia de seguridad basada en archivos
En los pasos que aparecen a continuación se describe el proceso para crear copias de seguridad y restaurar datos con imágenes de copia de seguridad basadas en archivos:
El agente de copia de seguridad y recuperación tras fallos se implementa en el servidor de la base de datos.
Monta el disco de almacenamiento provisional en el servidor de la base de datos.
Invoca la copia de seguridad completa con el comando de copia de seguridad de volcado y escribe la copia de seguridad en el disco montado.
Copia de seguridad y recuperación tras fallos hace una captura interna. Las copias de seguridad de los registros se realizan de forma similar directamente desde el sistema de archivos con la programación que configures.
Para la recuperación de datos, Backup and DR monta al instante el disco de almacenamiento provisional en el servidor de la base de datos e inicia la operación de restauración de la base de datos. Los registros se pueden reproducir en cualquier momento después de restaurar la base de datos.
Siguientes pasos
Preparar la base de datos para Backup y DR
Otra documentación de Backup and DR para PostgreSQL
- Backup y DR para PostgreSQL
- Preparar la base de datos para Backup y DR
- Añadir un host de base de datos PostgreSQL y detectar bases de datos
- Definir plantillas de políticas y perfiles de recursos
- Definir los detalles y la configuración de la aplicación
- Comprobar el formato del disco de almacenamiento temporal y el método de copia de seguridad
- Proteger la base de datos PostgreSQL y sus registros
- Montar una base de datos PostgreSQL
- Recuperar copias de seguridad de PostgreSQL
- Crear un flujo de trabajo de copia de seguridad y recuperación ante desastres de PostgreSQL