Du behöver inte skapa en mellanfil. Du kan göra
pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname
eller
pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname
med psql
eller pg_dump
för att ansluta till en fjärrvärd.
Med en stor databas eller en långsam anslutning kan det gå snabbare att dumpa en fil och överföra den komprimerade filen.
Som Kornel sa att det inte finns något behov av att dumpa till en mellanfil, om du vill arbeta komprimerat kan du använda en komprimerad tunnel
pg_dump -C dbname | bzip2 | ssh [email protected] "bunzip2 | psql dbname"
eller
pg_dump -C dbname | ssh -C [email protected] "psql dbname"
men denna lösning kräver också att få en session i båda ändarna.
Obs! pg_dump
är för säkerhetskopiering och psql
är för att återställa. Så, det första kommandot i det här svaret är att kopiera från lokal till fjärr och det andra är från fjärr till lokal . Mer -> https://www.postgresql.org/docs/9.6/app-pgdump.html