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
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
_
La réponse ci-dessus n'a pas fonctionné pour moi, cela a fonctionné:
psql db_development < postgres_db.dump