PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment restaurer le fichier de vidage PostgreSQL dans les bases de données Postgres ?

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 !