Du nämnde inte hur din säkerhetskopia gjordes, så det allmänna svaret är:Vanligtvis med psql
verktyg.
Beroende på vad pg_dump
instruerades att dumpa, kan SQL-filen ha olika uppsättningar SQL-kommandon. Om du till exempel instruerar pg_dump
att dumpa en databas med --clean
och --schema-only
, du kan inte förvänta dig att kunna återställa databasen från den dumpen eftersom det inte kommer att finnas några SQL-kommandon för COPYing (eller INSERTing om --inserts
används ) de faktiska uppgifterna i tabellerna. En sådan dump kommer bara att innehålla DDL SQL-kommandon och kommer att kunna återskapa schemat men inte själva data.
En typisk SQL-dump återställs med psql
:
psql (connection options here) database < yourbackup.sql
eller alternativt från en psql
session,
psql (connection options here) database
database=# \i /path/to/yourbackup.sql
I fallet med säkerhetskopior gjorda med pg_dump -Fc
("anpassat format"), som inte är en vanlig SQL-fil utan en komprimerad fil, måste du använda pg_restore
verktyg.
Om du arbetar med en unix-liknande, prova detta:
man psql
man pg_dump
man pg_restore
annars, ta en titt på html-dokumenten. Lycka till!