PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak przywrócić plik zrzutu PostgreSQL do baz danych Postgres?

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 :

Baza danych
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!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znajdź nazwę tabeli, do której się odwołuje, za pomocą nazwy tabeli, pola i schematu

  2. PostgreSQL przekazuje dane z rekurencyjnego CTE do funkcji

  3. Rama encji PostgreSQL

  4. Jak korzystać z pg_stat_activity?

  5. WSTAW wiersze do wielu tabel w jednym zapytaniu, wybierając z zaangażowanej tabeli