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

Przywrócić plik kopii zapasowej postgres za pomocą wiersza poleceń?

W zależności od tego, jak utworzyłeś plik zrzutu, dostępne są dwa narzędzia.

Twoim pierwszym źródłem odniesienia powinna być strona podręcznika pg_dump(1) ponieważ to właśnie tworzy sam zrzut. Mówi:

Zrzuty można wyprowadzać w formacie skryptu lub pliku archiwalnego. Zrzuty skryptów to zwykłe pliki tekstowe zawierające polecenia SQL wymagane do zrekonstruowania bazy danych do stanu, w jakim znajdowała się w momencie jej zapisania. Torestore z takiego skryptu, nakarm go topsql(1). Pliki skryptów mogą być używane do rekonstrukcji bazy danych nawet na innych komputerach i innych architekturach; z pewnymi modyfikacjami nawet w innych produktach bazodanowych SQL.

Alternatywny format plików archiwum musi być użyty z pg_restore(1) do odbudowania bazy danych. Pozwalają pg_restore na selektywne wybieranie tego, co jest przywracane, a nawet na zmianę kolejności elementów przed przywróceniem. Formaty plików archiwalnych są zaprojektowane tak, aby można je było przenosić w różnych architekturach.

Zależy więc od sposobu, w jaki zostało wyrzucone. Prawdopodobnie możesz to rozgryźć za pomocą doskonałego file(1) polecenie - jeśli wspomina tekst ASCII i/lub SQL, należy je przywrócić za pomocą psql w przeciwnym razie prawdopodobnie powinieneś użyć pg_restore

Przywracanie jest dość łatwe:

psql -U username -d dbname < filename.sql

-- For Postgres versions 9.0 or earlier
psql -U username -d dbname -1 -f filename.sql

lub

pg_restore -U username -d dbname -1 filename.dump

Sprawdź ich odpowiednie strony podręcznika — istnieje kilka opcji, które wpływają na działanie przywracania. Być może będziesz musiał wyczyścić "żywe" bazy danych lub odtworzyć je z szablonu 0 (jak wskazano w komentarzu) przed przywróceniem, w zależności od tego, jak wygenerowano zrzuty.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TABELA OPISU PostgreSQL

  2. Jak połączyć Struts 2 z Hibernate i PostgreSQL?

  3. Czy lepiej jest używać wielu baz danych z jednym schematem każda, czy jednej bazy danych z wieloma schematami?

  4. Zapytanie Postgresql między zakresami dat

  5. Zwróć wiersze z INSERT z ON CONFLICT bez konieczności aktualizacji