Heroku pg:pull正在给sh:createdb:命令未找到

时间:2014-06-19 19:42:04

标签: postgresql heroku pgadmin

当我尝试heroku pg:pull DATABASE_URL myappspassword时,我收到此错误:

my-computer:a-folder (master*) · heroku pg:pull DATABASE_URL myappspassword
 !    sh: createdb: command not found
 !    
 !    Unable to create new local database. Ensure your local Postgres is working and try again.

一旦谷歌搜索没有返回结果。我想知道这是否与我which psql时没有结果有关。也许我需要用pgAdmin做一些特别的事情才能使它工作(例如导出命令行工具)?

3 个答案:

答案 0 :(得分:10)

您是否在Mac上,偶然使用Postgres App

如果是这样,问题可能是createdb不在您的路径上。尝试通过将以下内容插入~/.bash_profile来添加它。

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin

然后运行source ~/.bash_profile并重试。

Postgres App网站上有更多信息:http://postgresapp.com/documentation/cli-tools.html

答案 1 :(得分:1)

你的直觉是正确的。您需要能够从命令行访问Postgres。 pg:pull正在尝试创建新的本地数据库,并将Heroku数据库中的相关数据放入其中。 From the docs

  

此命令将创建一个名为“mylocaldb”的新本地数据库,然后从DATABASE_URL数据库中提取数据......

基本上,您的本地计算机正在尝试在本地运行createdb,但您的终端无法识别它。

答案 2 :(得分:0)

我和这个该死的错误斗争了几个小时。我无法肯定地说这是否适合所有人,但我发现我的问题源于通过iTerm / ZSH而不仅仅是正常的bash运行命令。我打开了普通的香草终端,运行了命令,一切都按照它应该发射出来。