Kev*_*lli 6 postgresql ruby-on-rails heroku
我使用Postgresql数据库在Heroku上托管了一个RoR应用程序,并且一直使用PG备份工具将数据库从我的应用程序备份到我的本地计算机上.由于应用程序仍处于开发阶段,因此从编程的角度来看,它可以帮助我降低同事们对数据库所做的更改.我已成功使用PG备份捕获和恢复数月,但最近,当我运行我的典型命令时,如下所示:
$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
Run Code Online (Sandbox Code Playgroud)
curl命令完成后我收到此错误:
-bash: pg_restore: command not found
Run Code Online (Sandbox Code Playgroud)
有关为什么会发生这种情况的任何想法?显然问题是我无法恢复下载的备份.
hgm*_*mnz 10
听起来像是在本地环境中发生了变化,现在pg_restore,与postgres捆绑在一起的客户端命令工具以及pg_dump和psql都不可用.
听起来你需要正确设置你的PATH.
尝试pg_restore在系统中找到正确的sudo find / -name pg_restore,并在将其目录添加到PATH之后.
最后,你正在做的事情可以用一个更简单的方法完成heroku pg:pull,它从你的heroku数据库中获取备份并在一个命令中本地恢复(但也使用pg_dump/pg_restore,所以那些也需要可用.