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

Subplots en Matplotlib: cómo organizar múltiples gráficos en una sola figura

Llevas un rato analizando datos y tienes cuatro gráficos abiertos en ventanas separadas: ventas, usuarios,…

2 horas ago

Síndrome del objeto brillante en ciencia de datos: el error simétrico a los costes hundidos

Hace poco publiqué una entrada en la que trataba de un sesgo bien documentado: aferrarse…

5 días ago

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

1 semana ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

1 semana ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

2 semanas ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

2 semanas ago

This website uses cookies.