DALL·E 2024 02 10 19.29.21 Imagine a 1024x1024 pixels illustration that shows the PostgreSQL logo on one side and a cloud or hard drive on the other representing backup storage

Backup PostgreSQL utilizando pg_back

Esta semana en postgresql.org se ha presentado una herramienta muy útil, llamada pg_back, que permite simplificar el proceso de backup en Postgres.

¿Qué es pg_back?

pg_back es una herramienta específica de PostgreSQL que tiene como objetivo simplificar el backup de tus bases de datos junto con las entidades globales en un formato especificado por el usuario.

Esto del formato específico es importante, porque el ya conocido pg_dumpall no permitía esta opción, y nos devolvía como resultado un backup en formato SQL plano.

pg_back utiliza pg_dumpall para manejar el volcado de definiciones de roles y tablespaces y usa pg_dump para crear archivos separados que contengan el volcado de toda la base de datos o de las bases de datos seleccionadas, todo en un formato personalizado para mayor flexibilidad y precisión en el proceso de respaldo.

Además, purga los respaldos antiguos y ofrece muchas características que facilitan la gestión de los respaldos.

Cómo usar pg_back – DEMO

Vamos a comenzar por la instalación de pg_back. Para instalarlo pg_back desde la fuente, se necesita tener al menos la versión 1.20 del paquete go.

$ go install github.com/orgrim/pg_back@latest

$ export PATH=$PATH:/home/postgres/go/bin

Una vez instalado pg_back, se puede verificar su versión con el siguiente comando:

$ pg_back --version

Ahora vamos a crear un par de bases de datos de prueba para tener algo de contenido del que sacar backup después:

CREATE DATABASE test1;

\c test1 postgres

INSERT INTO t1 (id)

SELECT generate_series(1, 1001000);

Vamos a realizar el primer backup. El comando se lanza desde el terminal y reconoceréis en los parámetros que usamos los típicos de conexión a nuestra instancia:

$ pg_back -U postgres -p 5432 -d test1 -b <directorio/de/pg_data/>

Este comando genera un volcado previo de las definiciones globales, configuración de la instancia y de la base de datos especificada.

Los archivos resultantes estarán en la carpeta /var/backups/postgresql y el nombre estará formado por el nombre de la base de datos seguido de la fecha y hora del momento en que se ejecutó.

Features avanzadas

pg_back tiene muchas características avanzadas que permiten ajustar el proceso de backup a las necesidades de cada usuario:

Podemos excluir una base de datos del backup con la opción -D

pg_back -U postgres -p 5432 -d test1 -D test2 -b /u99/pgdata/16beta1/backup_exclude_db/

Podemos comprimir el backup para ahorrar espacio con la opción -Z indicando el nivel de compresión deseado. En este caso, 4.

pg_back -U postgres -p 5432 -d test1 -Z 4 -b /u99/pgdata/16beta1/backup_compressed/

Finalmente, podemos modificar la configuración de la herramienta con el archivo de configuración de pg_back.

$ vi /etc/pgback.conf

Conclusión

La importancia de tener una estrategia de respaldo sólida en la gestión de las bases de datos no puede ser subestimada. Como vimos en este blog, el uso de pg_back es una adición valiosa al kit de herramientas de PostgreSQL, ya que simplifica el proceso de respaldo con sus capacidades de volcado dedicadas.

En conclusión, pg_back es una herramienta muy útil para los administradores de PostgreSQL, que ofrece un enfoque versátil y sencillo para la gestión de respaldos de bases de datos. Al integrar esta herramienta en su entorno de PostgreSQL, obtendrá un control simplidicado y mayor flexibilidad.

Únete a la lista de emails para no perderte nada

No tengo ningún producto, publicidad, ni nada que venderte. De hecho, aún no tengo nada que hacer con estos emails. Pero si te interesa estar en contacto o no perderte las próximas actualizaciones en el futuro… Ya sabes 😉

    ¿Quieres trabajar con nosotros?

    Ya sea que necesites mejorar el rendimiento de consultas existentes, planificar y ejecutar migraciones de datos críticas, diseñar bases de datos desde cero o mantener un entorno de base de datos estable, estamos aquí para ayudarte.

    Trabajamos con una amplia variedad de sistemas de gestión de bases de datos (DBMS) y estamos comprometidos en proporcionar soluciones adaptadas a tus necesidades específicas. Puedes consultar nuestra lista completa de servicios aquí.

    Confía en nosotros para optimizar tus bases de datos y liberar tiempo y recursos para que puedas concentrarte en lo que realmente importa: hacer crecer tu negocio.

    ¡Contáctanos hoy mismo y descubre cómo podemos ayudarte a lograr un rendimiento óptimo en tu entorno de bases de datos!


    Comentarios

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *