2017-04-10 3 views
0

J'ai un serveur Ubuntu fonctionnant sur l'océan numérique pour un client, et ils veulent que je crée une application db dump d'un rail, en utilisant postgresql.Comment effectuer un vidage de la base de données du serveur vers la machine locale directement?

Je voudrais savoir quelle commande je peux exécuter pour effectuer un vidage postgresql db sur ma machine locale directement à partir du serveur. Je ne veux pas le vider sur le serveur que de le télécharger, mais plutôt de le vider directement sur ma machine.

J'ai essayé

ssh [email protected]_machine "pg_dump -U dbuser -h localhost -C --column-inserts" \ 

>> backup_file_on_your_local_machine.sql 

Comment puis-je faire cela? Je sais que c'est possible

Cheers!

Répondre

0

Vous souhaiterez installer le client postgres sur votre ordinateur local, puis exécutez la spécification de l'hôte sur lequel l'instance db est exécutée. En supposant qu'il est en cours d'exécution sur le port postgres par défaut 5432, vous pouvez tirer la décharge en exécutant:

pg_dump -h DBHOST -U USERNAME -d DBNAME > file_name.pgsql

mise à jour: vous pouvez généralement trouver le port dans la config/database.yml ou dans la variable d'environnement . Il sera très probablement 5432.

+0

Merci! Comment puis-je savoir sur quel port il fonctionne? –

+0

Qu'est-ce que DBHOST? Est-ce le serveur de l'océan numérique? Il n'y a pas non plus -d pg_dump: option invalide - d –

+0

DBHOST est l'adresse de la machine distante. Dans votre cas, c'est ce que vous mettez dans "remote_machine". Peut être un domaine, une URL ou une adresse IP. – polmiro