Herramientas

Copias de seguridad en PostgreSQL con pg_dump

Disponer de copias de seguridad de las bases de datos es un aspecto crítico para garantizar la integridad y disponibilidad de la información. PostgreSQL no es una excepción. Por ello, entre las herramientas que incluye este sistema de gestión de bases de datos de código abierto se incluyen varias herramientas para realizar copias de seguridad como pg_dump. En esta entrada se explicará cómo hacer copias de seguridad en PostgreSQL con pg_dump y también cómo se pueden restaurar.

pg_dump

Entre las utilidades de línea de comandos incluidas en PostgreSQL se encuentra pg_dump. Una herramienta con la que es posible realizar copias de seguridad de bases de datos PostgreSQL en formato de texto plano. Esto es, los datos se copian en un archivo como instrucciones SQL que pueden ser fácilmente interpretadas y restauradas posteriormente. Incluyendo dentro de estas instrucciones tanto la estructura de la base de datos como los datos. Por lo que los archivos que genera este comando son una forma completa y coherente de realizar los respaldos de la base de datos.

Creación de copias de seguridad en PostgreSQL con pg_dump

Tal como se ha comentado anteriormente, pg_dump es una herramienta incluida dentro de la instalación de PostgreSQL, por lo que no es necesario instalar nada, además de PostgreSQL, antes de poder usarla. Para realizar una copia de seguridad solamente se tiene que abrir una terminal y ejecutar un comando. Para lo que se debe especificar el nombre de usuario, la contraseña, el host y la base de datos que desea respaldar, junto con el archivo de salida donde se guardará la copia de seguridad. Por ejemplo, la línea que se muestra a continuación.

pg_dump -U usuario -W -h host -d basededatos > copia_seguridad.sql

En este comando, los parámetros que se han indicado son:

  • -U usuario especifica el nombre de usuario para conectarse a la base de datos.
  • -W de este modo se solicitará la contraseña del usuario de forma interactiva, por lo que no se debe escribir en el comando.
  • -h host especifica el host de la base de datos.
  • -d basededatos especifica el nombre de la base de datos que se va a respaldar.
  • > copia_seguridad.sql redirige la salida del comando a un archivo llamado copia_seguridad.sql.

Para realizar una copia de seguridad solamente se deben reemplazar usuario, host, basededatos y copia_seguridad.sql por los valores correspondientes.

Otros parámetros de pg_dump

Además de los parámetros usados en el comando anterior, pg_dump dispone de otros para poder adaptar su comportamiento a las necesidades específicas. Algunos de los parámetros más habituales son:

  • -Fc para realizar una copia de seguridad en formato comprimido.
  • -Ft para realizar una copia de seguridad en formato tar.
  • -Fp para realizar una copia de seguridad en formato de texto plano.
  • -n esquema para respaldar solo un esquema específico en lugar de toda la base de datos.
  • -t tabla para respaldar solo una tabla específica en lugar de toda la base de datos.

Restaurar una copia de seguridad con pg_dump

El proceso para restaurar una copia de seguridad creada con pg_dump se debe realizar con la herramienta de línea de comandos psql. Al igual que a la hora de realizar la copia de seguridad, solamente se debe indicar el usuario, el host, la base de datos y el archivo de copia de seguridad. Por ejemplo, para restaurar la base de datos anterior se tedia que ejecutar el siguiente comando.

psql -U usuario -h host -d basededatos -f copia_seguridad.sql

Comando que ejecutará todas las instrucciones SQL contenidas en el archivo de copia de seguridad y restaura la base de datos al estado de la copia de seguridad.

Conclusiones

En la publicación de hoy se ha visto cómo crear copias de seguridad en PostgreSQL con pg_dump. Una tarea que es imprescindible para garantizar la integridad y disponibilidad de los datos.  Una vez se comprende el funcionamiento básico de la herramienta, las copias de seguridad se hace una tarea sencilla. Además, gracias a las opciones que ofrece se puede adaptar estas a las necesidades de cada base de datos.

Imagen de Andrew Virnuls en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

2 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

4 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.