Nie wspomniałeś, jak wykonano kopię zapasową, więc ogólna odpowiedź brzmi:Zazwyczaj z psql
narzędzie.
W zależności od tego, co pg_dump
polecono zrzucić, plik SQL może zawierać różne zestawy poleceń SQL. Na przykład, jeśli poinstruujesz pg_dump
zrzucić bazę danych za pomocą --clean
i --schema-only
, nie można oczekiwać, że będzie można przywrócić bazę danych z tego zrzutu, ponieważ nie będzie żadnych poleceń SQL do KOPIOWANIA (lub WSTAWIANIA, jeśli --inserts
jest używany ) rzeczywiste dane w tabelach. Taki zrzut będzie zawierał tylko polecenia DDL SQL i będzie w stanie odtworzyć schemat, ale nie rzeczywiste dane.
Typowy zrzut SQL jest przywracany za pomocą psql
:
psql (connection options here) database < yourbackup.sql
lub alternatywnie z psql
sesja,
psql (connection options here) database
database=# \i /path/to/yourbackup.sql
W przypadku kopii zapasowych wykonanych za pomocą pg_dump -Fc
("format niestandardowy"), który nie jest zwykłym plikiem SQL, ale skompresowanym plikiem, musisz użyć pg_restore
narzędzie.
Jeśli pracujesz na uniksie, spróbuj tego:
man psql
man pg_dump
man pg_restore
w przeciwnym razie spójrz na dokumentację html. Powodzenia!