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