Není třeba vytvářet mezisoubor. Můžete to udělat
pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname
nebo
pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname
pomocí psql
nebo pg_dump
pro připojení ke vzdálenému hostiteli.
U velké databáze nebo pomalého připojení může být vyprázdnění souboru a přenos komprimovaného souboru rychlejší.
Jak řekl Kornel, není potřeba vypisovat do mezisouboru, pokud chcete pracovat komprimovaně, můžete použít komprimovaný tunel
pg_dump -C dbname | bzip2 | ssh [email protected] "bunzip2 | psql dbname"
nebo
pg_dump -C dbname | ssh -C [email protected] "psql dbname"
ale toto řešení také vyžaduje získat relaci na obou koncích.
Poznámka: pg_dump
je pro zálohování a psql
je k obnovení. Takže první příkaz v této odpovědi je zkopírovat z místního do vzdáleného a druhý je ze vzdáleného do místního . Více -> https://www.postgresql.org/docs/9.6/app-pgdump.html