Vous n'avez pas besoin de créer un fichier intermédiaire. Vous pouvez faire
pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname
ou
pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname
en utilisant psql
ou pg_dump
pour se connecter à un hôte distant.
Avec une grande base de données ou une connexion lente, le vidage d'un fichier et le transfert du fichier compressé peuvent être plus rapides.
Comme l'a dit Kornel, il n'est pas nécessaire de vider dans un fichier intermédiaire, si vous voulez travailler compressé, vous pouvez utiliser un tunnel compressé
pg_dump -C dbname | bzip2 | ssh [email protected] "bunzip2 | psql dbname"
ou
pg_dump -C dbname | ssh -C [email protected] "psql dbname"
mais cette solution nécessite également d'avoir une session aux deux bouts.
Remarque : pg_dump
est pour la sauvegarde et psql
est pour la restauration. Ainsi, la première commande de cette réponse consiste à copier de local à distant et la seconde de distant à local . Plus -> https://www.postgresql.org/docs/9.6/app-pgdump.html