pg_restore pg_dump from ejemplos data database postgresql

database - pg_dump - importar dump sql en la base de datos postgresql



pg_restore (10)

Estamos cambiando de host y el anterior proporcionó un volcado de SQL de la base de datos postgresql de nuestro sitio. Ahora estoy tratando de configurar esto en un servidor local para probar esto.

El único problema es que no tengo una idea de cómo puedo importar esta base de datos en el postgresql 9 que he configurado.

Intenté pgAdmin III pero parece que no puedo encontrar una función ''importar''. Así que acabo de abrir el editor de SQL, pegué el contenido del volcado allí y lo ejecuté, crea las tablas pero me sigue dando errores cuando intenta colocar los datos en él.

ERROR: syntax error at or near "t" LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view... The lines: COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin; t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view nl ...

También he intentado esto con el indicador de comando pero realmente no puedo encontrar el comando que necesito.

Si lo hago

psql mydatabase < C:/database/db-backup.sql;

me sale el error

ERROR: syntax error at or near "psql" LINE 1: psql mydatabase < C:/database/db-backu... ^

¿Cuál es la mejor manera de importar la base de datos?


Aquí está el comando que estás buscando.

psql -h hostname -d databasename -U username -f file.sql


Creo que quieres correr en psql:

/i C:/database/db-backup.sql


Eso funcionó para mí:

sudo -u postgres psql db_name < ''file_path''


Funciona bastante bien, en la línea de comandos, todos los argumentos son necesarios, -W es para la contraseña

psql -h localhost -U user -W -d database_name -f path/to/file.sql


No estoy seguro de si esto funciona para la situación del OP, pero descubrí que ejecutar el siguiente comando en la consola interactiva era la solución más flexible para mí:

/i ''path/to/file.sql''

Solo asegúrese de que ya está conectado a la base de datos correcta. Este comando ejecuta todos los comandos SQL en el archivo especificado.


Noté que muchos ejemplos son demasiado complicados para localhost, donde en muchos casos solo existe el usuario postgres sin contraseña:

psql -d db_name -f dump.sql


Puedes hacerlo en pgadmin3. Suelte el (los) esquema (s) que contiene su volcado. Luego haga clic derecho en la base de datos y elija Restaurar. A continuación, puede buscar el archivo de volcado.


Solo por diversión, si tu volcado está comprimido puedes hacer algo como

gunzip -c filename.gz | psql dbname

Como Jacob mencionó, los documentos de PostgreSQL describen todo esto bastante bien.


Yo suelo:

cat /home/path/to/dump/file | psql -h localhost -U <user_name> -d <db_name>

Espero que esto ayude a alguien.