Comment puis-je faire cela en une seule étape?
Télécharger la commande de sauvegarde:
curl http://s3.aws.com/backup.sql
Restaurer la commande de sauvegarde:
Sudo -u postgres psql <PIPE-THE-OUTPUT-OF-PREVIOUS-COMMAND>
Si les deux commandes fonctionnent, vous devriez essayer
curl -s http://s3.aws.com/backup.sql | Sudo -u postgres psql
Je sais que c’est une vieille question, mais j’ai trébuché lors d’une recherche (c’était le sommet des résultats) et il ne semble pas que les réponses soient correctes selon le manuel postgres
.
Le manuel suggère de passer le -f -
comme option à psql
, puis de passer à la _ stdin
comme vous le souhaitez. Citant le manuel pour 9.4:
Si nomfichier est - (trait d'union), l'entrée standard est lue jusqu'à une indication EOF ou une méta-commande\q. Notez cependant que Readline n'est pas utilisé dans ce cas (comme si -n avait été spécifié).
L'utilisation de cette option est légèrement différente de l'écriture de psql <nomfichier. En général, les deux font ce que vous attendez, mais l'utilisation de -f active certaines fonctionnalités de Nice, telles que les messages d'erreur avec des numéros de ligne.
Encore une autre manière:
Sudo -u postgres psql --file <(curl -s http://s3.aws.com/backup.sql)