Backup and DR para PostgreSQL en un dispositivo de copia de seguridad y recuperación

Precaución: A partir del 31 de julio de 2027, se dará de baja la compatibilidad con la copia de seguridad de bases de datos de PostgreSQL con la consola de administración de dispositivos. Para obtener más información sobre esta baja y las soluciones alternativas de copias de seguridad, consulta Migra desde las copias de seguridad de bases de datos heredadas.

PostgreSQL es un potente sistema de base de datos relacional de objetos de código abierto que usa y extiende el lenguaje SQL combinado con muchas funciones que almacenan y escalan de forma segura las cargas de trabajo de datos más complicadas.

API de copias de seguridad de PostgreSQL que usa Backup and DR

  • Copias de seguridad a nivel del volumen (seguimiento de bloques modificados de Linux y de instantáneas de LVM): Backup and DR usa los comandos pg_start_backup(label) y pg_stop_backup() de PostgreSQL cuando realiza copias de seguridad con el seguimiento de bloques modificados de Linux y la instantánea de LVM.

  • Copias de seguridad completas+incrementales (tradicionales basadas en archivos): Backup and DR usan los comandos de copias de seguridad basados en archivos pg_dump de PostgreSQL. El comando pg_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 de volcado de base de datos completa.

    El restablecimiento de la base de datos la recupera 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 WAL de PostgreSQL (WriteAheadLog). Para purgar registros, Backup and DR usa un comando a nivel del 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 hace un seguimiento de los bloques modificados: no hay operaciones de copia en escritura ni operaciones con uso intensivo de E/S.

En los siguientes pasos, se describe el proceso de copia de seguridad y recuperación de datos:

  1. El agente de Backup and DR tiene CBT para hacer un seguimiento de los bloques modificados en el área de datos de la base de datos.

  2. El agente llama a la API de la base de datos para congelar o pausar la base de datos para la copia de seguridad de los datos.

  3. El agente crea una instantánea de LVM del área de datos de la base de datos y sintetiza un mapa de bits.

  4. Llamada del agente a la API de la base de datos para descongelar la base de datos.

  5. El agente copia los bloques modificados en el dispositivo de copia de seguridad o recuperación, que luego borra la instantánea y cataloga la copia de seguridad.

  6. El dispositivo emite una instantánea interna y sintetiza una copia de seguridad virtual completa de un momento determinado.

  7. Para la recuperación de datos, Backup and DR activa de inmediato un disco de transferencia de datos reescribible y pone en línea la base de datos.

El comando quiesce o unquiesce se ejecuta en el primario para un trabajo de instantánea a nivel del volumen:

select pg_start_backup(<label>);
select pg_stop_backup();

Los comandos quiesce y unquiesce se ejecutan en un nodo en espera para un trabajo de instantánea a nivel del volumen:

Si la versión de PostgreSQL es 10.x o posterior, haz lo siguiente:

select pg_wal_replay_pause();
select pg_wal_replay_resume();

Si la versión de PostgreSQL es 9.x, haz lo siguiente:

select pg_xlog_replay_pause();
select pg_xlog_replay_resume();

Cómo funciona: copia de seguridad basada en archivos

En los siguientes pasos, se describe el proceso para realizar copias de seguridad y recuperación de datos con copias de seguridad basadas en archivos:

  1. El agente de Backup and DR se implementa en el servidor de la base de datos.

  2. Activa el disco de etapa de pruebas en el servidor de la base de datos.

  3. Invoca la copia de seguridad completa con el comando de copia de seguridad de volcado y escribe la copia de seguridad en el disco conectado.

  4. Backup and DR toma una instantánea interna. Las copias de seguridad de registros se realizan de manera similar directamente desde el sistema de archivos en cualquier programa que configures.

  5. Para la recuperación de datos, Backup and DR activa de inmediato el disco de etapa de pruebas en el servidor de la base de datos y, luego, inicia la operación de restablecimiento de la base de datos. Los registros se pueden reproducir en cualquier momento después de que se restablece la base de datos.

¿Qué sigue?

Prepara la base de datos para Backup and DR

Otra documentación de Backup and DR para PostgreSQL