Vous n'avez pas mentionné comment votre sauvegarde a été faite, donc la réponse générique est :Habituellement avec le psql
outil.
Selon ce que pg_dump
a reçu l'instruction de vider, le fichier SQL peut avoir différents ensembles de commandes SQL. Par exemple, si vous indiquez pg_dump
vider une base de données en utilisant --clean
et --schema-only
, vous ne pouvez pas vous attendre à pouvoir restaurer la base de données à partir de ce vidage car il n'y aura pas de commandes SQL pour COPYing (ou INSERTing if --inserts
est utilisé) les données réelles dans les tables. Un vidage comme celui-ci ne contiendra que des commandes SQL DDL et pourra recréer le schéma mais pas les données réelles.
Un vidage SQL typique est restauré avec psql
:
psql (connection options here) database < yourbackup.sql
ou alternativement depuis un psql
séance,
psql (connection options here) database
database=# \i /path/to/yourbackup.sql
Dans le cas de sauvegardes faites avec pg_dump -Fc
("format personnalisé"), qui n'est pas un fichier SQL simple mais un fichier compressé, vous devez utiliser le pg_restore
outil.
Si vous travaillez sur un système de type Unix, essayez ceci :
man psql
man pg_dump
man pg_restore
sinon, jetez un oeil à la documentation html. Bonne chance !