sql >> Base de Datos >  >> RDS >> PostgreSQL

Copiando base de datos PostgreSQL a otro servidor

No es necesario crear un archivo intermedio. Puedes hacer

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

o

pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname

usando psql o pg_dump para conectarse a un host remoto.

Con una gran base de datos o una conexión lenta, volcar un archivo y transferirlo comprimido puede ser más rápido.

Como dijo Kornel, no es necesario volcar a un archivo intermedio, si desea trabajar comprimido, puede usar un túnel comprimido

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

o

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

pero esta solución también requiere obtener una sesión en ambos extremos.

Nota: pg_dump es para realizar copias de seguridad y psql es para restaurar. Entonces, el primer comando en esta respuesta es copiar de local a remoto y el segundo es de remoto a local . Más -> https://www.postgresql.org/docs/9.6/app-pgdump.html