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 llamadocopia_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
Deja una respuesta