2009-11-25 15 views
25

Estoy tratando de restaurar una base de datos PostgreSQL ejecutando el SQL que creó pg_dump, en una base de datos vacía.PostgreSQL: restauración de la base de datos desde el volcado - error de sintaxis

estoy recibiendo este error:

ERROR: syntax error at or near "\" 
LINE 5211: \. 

líneas 5210 y 5211 de lectura:

COPY auth_group (id, name) FROM stdin; 
\. 

Funciona bien en mi servidor Linux, donde utilizo este comando:

psql -U dbname < dumpfile.sql

pero en Windows, no estoy seguro de cómo hacer lo mismo, así que he estado tratando de ejecutar la utilidad de consulta sql de dumpfile from pgAdminIII.

¿Cuál es la forma recomendada de importar un db desde un volcado en Windows? O: ¿cómo puede resolverse ese problema de sintaxis?

¡Cualquier ayuda es muy apreciada!

Martin

Respuesta

68

El argumento -f filename en psql leerá en el archivo, por lo que no tiene que canalizar en. Psql debe ser incluido en el directorio bin de PostgreSQL en Windows. De este modo:

psql -d dbname -U username -f dumpfile.sql 

Puede que tenga que incluir una ruta completa al ejecutable psql si no es en su camino, y la posible ".exe" añadir a psql, por lo que es 'psql.exe'.

También asegúrese de que no está bajando en números de versión, me he encontrado con problemas de sintaxis antes (por ejemplo, no exportar una base de datos 8.4 e intentar cargarla en una base de datos 8.1). Si es así, puede que tenga que editar manualmente el archivo de volcado.

+1

Esto funcionó para mí cuando se trata de importar un volcado con Navicat que estaba lanzando todo tipo de errores de sintaxis. Funcionó bien desde la terminal de OS X. –

27

tratan con psql -d nombrebd -U usuario -f dumpfile.sql

+0

gracias kai, te daré un voto positivo al menos ..! – Hoff

Cuestiones relacionadas