sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-database kopiëren naar een andere server

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



  1. Exporteer Postgresql-tabelgegevens met pgAdmin

  2. Hoe installeer ik de pg gem van PostgreSQL op Ubuntu?

  3. Hoe kan ik in mijn geval SQL in Oracle schrijven?

  4. Hoe wordt de JDBC-querytime-out van Oracle geïmplementeerd?