Backup y Restauración Base de Datos en PostgreSQL

Se trata de volcar en un archivo de texto que contendrá los comandos y datos SQL necesarios para restaurar una copia exacta de la base de datos en el momento de la copia. La herramienta a utilizar es pg_dump.

Base de Datos Especifica

La forma más sencilla de hacer un backup de una base de datos completa es la siguiente:

# pg_dump basededatos > archivo.sql


En el caso de tener que especificar un host remoto o puerto de conexión distinto usaríamos los parámetros correspondientes, -h para el host y -p para el puerto, lo mismo se tenemos que especificar usuario, clave, etc.


La restauración del backup es el mismo proceso pero a la inversa:

# psql basededatos < archivo.sql


Especificando parámetros:

# psql -U usuario -d basededatos -p 5432 -h 192.168.0.111 < archivo.sql


Mediante el frontend de PostgreSQL psql volcamos el contenido del archivo SQL en la base de datos a restaurar. Al igual que con la exportación se pueden especificar un gran número de parámetros para personalizar la restauración.

Backup de todas las bases de datos del servidor PostgreSQL

Mediante pg_dumpall podemos hacer con un único comando una copia de seguridad de todas las bases de datos del servidor:

# pg_dumpall > backup_server.sql

Posteriormente para restaurar todas las bases de datos:

# psql -f backup_server.sql postgres