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

Kopiowanie bazy danych PostgreSQL na inny serwer

Nie musisz tworzyć pliku pośredniego. Możesz zrobić

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

lub

pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname

przy użyciu psql lub pg_dump aby połączyć się ze zdalnym hostem.

W przypadku dużej bazy danych lub wolnego połączenia zrzucanie pliku i przesyłanie skompresowanego pliku może być szybsze.

Jak powiedział Kornel, nie ma potrzeby zrzutu do pliku pośredniego, jeśli chcesz pracować skompresowany, możesz użyć skompresowanego tunelu

pg_dump -C dbname | bzip2 | ssh  [email protected] "bunzip2 | psql dbname"

lub

pg_dump -C dbname | ssh -C [email protected] "psql dbname"

ale to rozwiązanie wymaga również sesji na obu końcach.

Uwaga: pg_dump służy do tworzenia kopii zapasowych i psql służy do przywracania. Tak więc pierwsze polecenie w tej odpowiedzi to kopiowanie ze zdalnego do zdalnego, a drugie ze zdalnego do lokalnego . Więcej -> https://www.postgresql.org/docs/9.6/app-pgdump.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kompilacja rozszerzenia pg_repack na binarnym formacie instalacji PostgreSQL

  2. Jaka jest domyślna kolejność listy zwracanej przez wywołanie filtra Django?

  3. Jak działa pg_typeof() w PostgreSQL

  4. O użyteczności wskaźników wyrażeń

  5. błąd instrukcji sql:kolumna .. nie istnieje