restaurar pg_dump consola postgresql dump database-restore

pg_dump - restaurar backup postgresql



postgresql- restauración de archivo.dump (5)

Soy nuevo para psql. Conseguí de mi archivo data.dump servidor. Necesito restaurarlo en mi local. Probé estos comandos.

i) psql -U postgres dbname -f servicedb.dump

Error: psql: warning: extra command-line argument "-f" ignored psql: warning: extra command-line argument "servicedb.dump" ignored

ii) psql -U postgres dbname <servicedb.dump

Error: ^ ERROR: syntaxe error at or near "☺" LINE 1: ☺☺

¿Qué es este archivo ".dump" y cómo restaurarlo?



Obtuve un archivo .dump de mi servidor (Heroku). Como dijo Klaus, pg_restore es la única manera de restaurarlo en mi local.

Lo que escribí en mi terminal fue:

pg_restore -c -d [database_name] [dumpfile_name].dump

Hay muchas opciones que puedes ver en el enlace de Klaus de pg_restore :)


Para Postrgres 9.2

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U [user] -d [db] [filename].dump


pg_restore está lejos de ser obvio, este es el comando que usé para crear una nueva base de datos y restaurar el archivo de volcado en una instancia remota de Postgres que se ejecuta en AWS. Si su conexión es correcta, pg_restore debe pedirle inmediatamente que ingrese su contraseña)

pg_restore -h mypostgresdb.eu-west-1.rds.amazonaws.com -U adminuser --verbose -C -d existingdatabase mydbdump.dm

Donde están los interruptores:

  • -h - nombre de host en aws
  • -U: nombre de usuario, este debe ser un usuario administrador con permisos para crear una db
  • --verbose - obtener salida verbosa a la pantalla
  • -C: significa crear una nueva base de datos desde el archivo de volcado (se llamará como se llame a la base de datos que descargó)
  • -d - confusamente, este debe ser el nombre de una base de datos que ya existe, básicamente pg_restore necesita conectarse a una base de datos existente para que pueda ejecutar los scripts necesarios para crear la nueva base de datos
  • mydbdump.dmp esta es la ubicación del archivo de volcado que está intentando restaurar.

psql -f filenamed.dmp db_name

funciona bien