Cómo hacer backup de una base de datos PostgreSQL

Versión del producto: 8.5

Último modificado: 26 de marzo de 2019

Pregunta

¿Cuál es una buena práctica para detener/iniciar una base de datos PostgreSQL para hacer backups con NAKIVO Backup & Replication?

Respuesta

Detener todas las conexiones a la base de datos es crucial para obtener un backups coherente de la base de datos.

Actualmente, no se pueden congelar las operaciones de E/S de la base de datos ni bloquear temporalmente las bases de datos en PostgreSQL.

Sin embargo, puede utilizar los siguientes métodos:

  • Aplicar un backup a nivel de sistema de archivos. Para ello es necesario apagar primero el servidor de bases de datos; si no se apaga, no se obtendrá un backup utilizable debido al almacenamiento interno en búfer del servidor.
    Además, si su base de datos está dividida en varios tablespaces o el registro de escritura anticipada está en un disco distinto del montón de la tabla, no podrá utilizar este método.
    Consulte la sección Copia de seguridad a nivel del sistema de archivos del Manual de PostgreSQL para obtener más detalles.
  • Confíe en las utilidades de congelación/descongelación de E/S disponibles para algunos sistemas de archivos. Podrá congelar el sistema de archivos, copiar los archivos de la base de datos y luego descongelar el sistema de archivos.
    Por ejemplo, consulte la sección Suspender un sistema de archivos XFS del Manual de administración de almacenamiento de Red Hat Enterprise Linux 7.
  • Hacer un backups de bajo nivel no exclusivo. Se basa en los comandos pg_start_backup y pg_stop_backup. Esto le permite ejecutar varios backups simultáneos. Además, proporciona un backups coherentes sin detener las operaciones de escritura y evita el uso de instantáneas atómicas a nivel de sistema de archivos.
    Para obtener más detalles, consulte la sección Cómo hacer un backups coherentes utilizando la API de bajo nivel del Manual de PostgreSQL.
  • Haz un backups de la base. Se basa en la herramienta pg_basebackup. Esto le permite crear un backups base ya sea como archivos regulares o como un archivo.tar. Sin embargo, es menos flexible que el enfoque anterior.
    Este es el enfoque más sencillo. Utilice este método si no le preocupa la cantidad de tiempo que se tarda en hacer un backup base.
    Para más detalles, consulte la sección Cómo hacer un backup base del Manual de PostgreSQL.