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.
psql databasename < data_base_dump
Ese es el comando que estás buscando.
Cuidado: databasename debe crearse antes de importar. Eche un vistazo al Capítulo 23. Documentación de PostgreSQL. Copia de seguridad y restauración .