Non è necessario creare un file intermedio. Puoi fare
pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname
o
pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname
usando psql
o pg_dump
per connettersi a un host remoto.
Con un database grande o una connessione lenta, scaricare un file e trasferire il file compresso potrebbe essere più veloce.
Come ha detto Kornel, non è necessario eseguire il dump su un file intermedio, se vuoi lavorare compresso puoi usare un tunnel compresso
pg_dump -C dbname | bzip2 | ssh [email protected] "bunzip2 | psql dbname"
o
pg_dump -C dbname | ssh -C [email protected] "psql dbname"
ma questa soluzione richiede anche di ottenere una sessione in entrambe le estremità.
Nota: pg_dump
è per il backup e psql
è per il ripristino. Quindi, il primo comando in questa risposta è copiare da locale a remoto e il secondo è da remoto a locale . Altro -> https://www.postgresql.org/docs/9.6/app-pgdump.html