Workaround para postgreSQL dump import

 

En la documentación de PostgreSQL indican que para importar archivos (.dump como en mi caso) se debe utilizar el siguiente comando:

«The text files created by pg_dump are intended to be read in by the psql program. The general command form to restore a dump is

psql dbname < infile"

Sin embargo, yo no pude importar mi .dump con dicho comando y tampoco pude utilizar el texto dentro de ese .dump para ejecutarlo en la ventana de SQL de pgAdmin III (problemas con \. en sentencias COPY) …pero el siguiente workaround fue útil para mi:

(En Windows)

1.- Cambiar la extensión del archivo .dump a .sql. Luego, abrir la consola de comandos de Windows.

2.- Escribir ‘cd’ y luego el directorio donde está instalado postgreSQL en nuestra máquina (incluso el bin). Copiar en dicho directorio el arhivo .sql(*)

3.- Una vez ubicados allí, podemos correr el comando ‘psql’ que nos permitirá correr un script de base de datos en nuestra BD de postgresql:

psql -d DatabaseName -U userName -f myScriptFile.sql

DONDE: DatabaseName es el nombre de nuestra BD, userName el nombre de usuario (normalmente postgres por defecto) y myScriptFile.sql es nuestro archivo.

(*)NOTA: myScriptFile.sql lo ubiqué dentro del bin de la instalación de postgre ya que tuve problemas con la ruta del archivo al correr el comando.

4- Listo… debes otorgar la contraseña del usuario con el que hiciste la ejecución y luego comenzarán a verse los resultados de las sentencias del script.


2 pensamientos en “Workaround para postgreSQL dump import

  1. Nota: en mi caso, yo renombro la BD vieja (sufijo old por ejemplo), creo una nueva en blanco con pgAdmin, y corro el dump, asi no tengo problemas con constraints ya creadas etc…

  2. Un gran articulo, llevaba buscandolo un monton de tiempo y por fin funciona correctamente!!

    Muchas gracias por tu aportación

Deja un comentario