sql >> Databasteknik >  >> RDS >> PostgreSQL

Kopiera PostgreSQL-databas till en annan server

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



  1. Fråga timeout i pg-promise

  2. Förstå Workload Analyzer för att kartlägga prestandaflaskhalsar

  3. SQL Developer 4.0 släppt

  4. Postgres INTE i array