2013-11-12 6 views
6

У меня есть приложение RoR, размещенное на Heroku, используя базу данных Postgresql и использующую инструмент PG Backups для резервного копирования базы данных из моего приложения на мою локальную машину. Поскольку приложение все еще находится в разработке, оно помогает мне с точки зрения программирования свести изменения, внесенные моими коллегами в базу данных. Я успешно с помощью PG резервного копирования для захвата и восстановления в течение нескольких месяцев, но в последнее время, когда я запускаю типичные команды, как показано здесь:pg_restore: команда не найдена

$curl -o latest.dump `heroku pgbackups:url --app XXXXX` 
$pg_restore --verbose --clean --no-acl --no-owner -h localhost -U XXXXX -d XXXXX_development latest.dump 

Я получаю эту ошибку после того, как завиток команда проходит через:

-bash: pg_restore: command not found 

Любые идеи о том, почему это происходит? Очевидно, проблема в том, что я не могу восстановить загруженное резервное копирование.

ответ

7

Похоже, что что-то изменилось в вашей локальной среде, а теперь pg_restore, инструмент командной строки клиента, связанный с postgres рядом с pg_dump и psql, недоступен.

Похоже, вам необходимо правильно установить PATH.

Попробуйте найти правильный код pg_restore в вашей системе, возможно, sudo find/-name pg_restore, и после того, как вы добавите его в каталог PATH.

Наконец, то, что вы делаете, возможно, будет выполнено с помощью простого heroku pg:pull, который берет резервную копию из вашей базы данных heroku и восстанавливает ее локально всего за одну команду (но также использует pg_dump/pg_restore, поэтому они должны быть доступны

+0

Огромное спасибо за ваш ответ! Я начинающий программист, я пытался найти ресурсы, чтобы помочь мне добавить pg_restore в PATH, но ничего не работает (я никогда не делал ничего подобного раньше). Я не уверен, какую операционную систему вы используете, но я запускаю Mac OSX Mavericks. Если вы работаете на Mac, не могли бы вы сообщить мне, как бы вы это сделали? –

+1

Как вы установили postgres? не установлены postgres l ocally, тогда сделайте это сначала. Я бы рекомендовал http://postgresapp.com/ и следовать его документам для исправления PATH – hgmnz