sql >> Database teknologi >  >> RDS >> PostgreSQL

Kopiering af PostgreSQL-database til en anden server

Du behøver ikke oprette en mellemfil. Du kan gøre

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

ved hjælp af psql eller pg_dump for at oprette forbindelse til en fjernvært.

Med en stor database eller en langsom forbindelse kan det være hurtigere at dumpe en fil og overføre den komprimerede fil.

Som Kornel sagde, er der ingen grund til at dumpe til en mellemfil, hvis du vil arbejde komprimeret, kan du bruge en komprimeret tunnel

pg_dump -C dbname | bzip2 | ssh  [email protected] "bunzip2 | psql dbname"

eller

pg_dump -C dbname | ssh -C [email protected] "psql dbname"

men denne løsning kræver også at få en session i begge ender.

Bemærk: pg_dump er til sikkerhedskopiering og psql er til gendannelse. Så den første kommando i dette svar er at kopiere fra lokal til fjern, og den anden er fra fjern til lokal . Mere -> https://www.postgresql.org/docs/9.6/app-pgdump.html



  1. Sådan fjerner du efterfølgende hvidt mellemrum i SQL Server – RTRIM()

  2. Oracle:flere tabelopdateringer => ORA-01779:kan ikke ændre en kolonne, der er knyttet til en ikke-nøglebevaret tabel

  3. oracle PLSQL interviewspørgsmål

  4. Oracle PL/SQL - tips til øjeblikkelig output / konsoludskrivning