web-dev-qa-db-fra.com

Le fichier d’entrée semble être une image au format texte. S'il vous plaît utiliser psql

Je prends des sauvegardes en utilisant

pg_dump db_production > postgres_db.dump

puis je le copie sur localhost avec scp.

Maintenant, quand j'importe sur ma base de données locale, cela donne une erreur

pg_restore: [archiver] input file appears to be a text format dump. Please use psql.

en utilisant la ligne de commande

pg_restore -d db_development postgres_db.dump
41
Haseeb Ahmad

Avant de voter

Ceci est juste une partie de la documentation!

À partir de la pg_dump documentation:

Exemples

Pour vider une base de données appelée mydb dans un fichier de script SQL :

_$ pg_dump mydb > db.sql
_

Pour recharger un tel script dans une base de données (fraîchement créée) nommée newdb :

_$ psql -d newdb -f db.sql
_

Pour vider une base de données dans un fichier archive au format personnalisé:

_$ pg_dump -Fc mydb > db.dump
_

Pour vider une base de données dans une archive au format répertoire:

_$ pg_dump -Fd mydb -f dumpdir
_

Pour recharger un fichier archive dans une base de données (fraîchement créée) nommée newdb:

_$ pg_restore -d newdb db.dump
_

À partir de la pg_restore documentation:

Exemples

Supposons que nous ayons vidé une base de données appelée mydb dans un fichier de vidage au format personnalisé:

_$ pg_dump -Fc mydb > db.dump
_

Pour supprimer la base de données et la recréer à partir du vidage:

_$ dropdb mydb
$ pg_restore -C -d postgres db.dump
_
68
Зелёный

La réponse ci-dessus n'a pas fonctionné pour moi, cela a fonctionné:

psql db_development < postgres_db.dump

22
Uziel Valdez