Restaurar un backup de postgresql hecho con pg_dump

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.


Comentarios

6 respuestas a «Restaurar un backup de postgresql hecho con pg_dump»

  1. Avatar de Anónimo
    Anónimo

    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.

  2. Avatar de Anónimo
    Anónimo

    si el dump se hizo en formato comprimido o binario usando -Z (0-9) o -F c|f no funcionará

  3. Avatar de Anónimo
    Anónimo

    increible me sirvio, hize mi backup con pgadmin y no restauraba, con psql siii

  4. Gracias me ha servido.. 🙂

  5. no consigo hacer una sentencia php con psql para restaurar un pg_dump, que sí se restaura desde consola.

  6. Excelente, funciono, muchas gracias por el aporte..!!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.