Restaurar backup de postgresql hecho con pg_dump.
He intentado restaurar un backup de una base de datos PostgreSQL que previamente había realizado con pg_dump.
Lo he intentado realizar con pg_restore, añadiendo todos los parámetros:
pg_restore -h ubicacion -p puerto -U usuario -d nombre_base_datos -v fichero.backup
y el resultado que siempre obtenía es:
pg_restore: [archiver] input file does not appear to be a valid archive
Parecía que el archivo no era válido, al final buscando por internet, me he dado cuenta de que para restaurar un archivo de este tipo previamente creado con pg_dump, no se puede hacer con pg_restore, sino que hay que hacerlo desde psql con la siguiente sintaxis:
psql -h ubicacion -p puerto -U usuario -d nombre_base_datos -f fichero.backup
De esta forma me ha funcionado sin problemas.
Hola:
Te felicito, después de leer muchos post en foros, en teoría muchos de ellos de gran reputación el que de verdad ha funcionado es el tuyo. Lo aconsejo a todos aquellos que además hayan hecho un pg_dump de bbdd para hacer la restauración en otro motor de otra máquina.
si el dump se hizo en formato comprimido o binario usando -Z (0-9) o -F c|f no funcionará
increible me sirvio, hize mi backup con pgadmin y no restauraba, con psql siii
Gracias me ha servido.. 🙂
no consigo hacer una sentencia php con psql para restaurar un pg_dump, que sí se restaura desde consola.
Excelente, funciono, muchas gracias por el aporte..!!!