U hoeft geen tussenbestand te maken. Je kunt doen
pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname
of
pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname
met behulp van psql
of pg_dump
om verbinding te maken met een externe host.
Met een grote database of een langzame verbinding kan het sneller zijn om een bestand te dumpen en het gecomprimeerde bestand over te brengen.
Zoals Kornel zei, is het niet nodig om naar een tussenbestand te dumpen, als je gecomprimeerd wilt werken, kun je een gecomprimeerde tunnel gebruiken
pg_dump -C dbname | bzip2 | ssh [email protected] "bunzip2 | psql dbname"
of
pg_dump -C dbname | ssh -C [email protected] "psql dbname"
maar deze oplossing vereist ook een sessie aan beide uiteinden.
Opmerking: pg_dump
is voor back-up en psql
is om te herstellen. Dus de eerste opdracht in dit antwoord is om van lokaal naar extern te kopiëren en de tweede is van extern naar lokaal . Meer -> https://www.postgresql.org/docs/9.6/app-pgdump.html