¡Buenas de nuevo!
Como ya comenté en la entrada donde se explicaba cómo realizar una copia de seguridad de una base de datos geoespacial con PostgreSQL y PostGIS, el siguiente paso sería explicar cómo restaurar esta copia que hemos realizado para poder trabajar con ella.
Al igual que ocurre con las instrucciones explicadas para realizar la copia de seguridad, me imagino que estas instrucciones servirán para cualquier tipo de base de datos de PostgreSQL, pero en mi caso sólo las he usado para bases de datos espaciales, con las cuales os puedo asegurar que funcionan correctamente.
Una vez hemos realizado la copia o dump de la base de datos, tendremos dos ficheros, uno para el esquema de la misma y otro con los datos que hubieran almacenados, así que vamos a ver qué pasos debemos seguir para restaurar ambos ficheros.
– Lo primero será crear la base de datos de tipo espacial a la cual vamos a importar el esquema y los datos. Este paso lo llevaremos a cabo a través de pgAdmin y siguiendo las instrucciones que podéis encontrar aquí.
– Una vez la tenemos creada, restauramos el esquema de la base de datos a través de la siguiente instrucción:
inmi@inmi-laptop:~/Escritorio$ psql -U postgres -h localhost prueba_postgis2 < dump_esquema.sql
Las opciones que usamos son:
-u Para autenticarnos mediante una clave asociada al nombre de usuario que indiquemos, que será el que tengamos para pgAdmin.
-h huésped Especifica el nombre o dirección IP del servidor donde está alojada la base de datos a la que vamos a importar el esquema.
En caso de que ya exista alguna tabla dentro de la base de datos con el mismo nombre nos dará errores de duplicado, el error generado por la existencia de la tabla spatial_ref_sys nos va a dar seguro, ya que al hacer la base de datos de tipo espacial, esta tabla se genera sola automáticamente.
– Una vez importado el esquema, importaremos los datos con la instrucción:
inmi@inmi-laptop:~/Escritorio$ pg_restore -U postgres -h localhost -a -v -e -Fc -O --disable-triggers -d prueba_postgis2 dump_datos.sql
Las opciones nuevas que usamos en esta instrucción son:
-a Hace copia sólo de los datos y no del esquema.
-v Epecifica el modo verbose, es decir, en vez de dar un resumen da la salida del proceso completo..
-e Para forzar la salida en caso de que se encuentre un error mientras se ejecutan las consultas SQL en la base de datos. Por defecto muestra el total de errores al final de la restauración.
-Fc Permite especificar el formato de la salida del dump, en nuestro caso, usaremos un formato de salida customizable el cual viene comprimido por defecto.
-o Copia los identificadores de objetos (OIDs) para cada tabla de la base de datos.
–disable-triggers es útil para evitar problemas a la hora de hacer la restauración.
-d Copia los identificadores de objetos (OIDs) para cada tabla de la base de datos.
Una vez terminado el proceso, ya podemos comprobar en pgAdmin, cómo se ha restaurado correctamente el esquema y los datos que tuviéramos en la copia de seguridad de nuestra base de datos.
Espero que os haya sido útil
¡Un saludo!
La entrada Restaurar copia de seguridad de base de datos geoespacial con PostgreSQL y PostGIS apareció primero en Linux Hispano.