每当我在Rails应用程序的数据库上运行rake任务时,我都会收到以下错误。
pg_dump: server version: 9.2.4; pg_dump version: 9.1.5
pg_dump: aborting because of server version mismatch
我已经用Google搜索过了,并找到了一些关于更新postgres brew包的建议,但这不起作用。
为什么使用了错误的pg_dump版本,我该如何解决这个问题?或者我应该寻找哪些搜索条件来寻找解决方案?
修改
关于我的pg_dump配置的信息:
$ pg_dump --version
> pg_dump (PostgreSQL) 9.1.5
$ which pg_dump
> /usr/bin/pg_dump
$ echo $PATH
> /Users/andrewharvey/.rvm/gems/ruby-1.9.3-p392@mantawatch/bin:/Users/andrewharvey/.rvm/gems/ruby-1.9.3-p392@global/bin:/Users/andrewharvey/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/andrewharvey/.rvm/bin:/usr/local/heroku/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/andrewharvey/.rvm/bin
我正在使用oh_my_zsh,路径是在我的.zshrc文件中定义的。这可能是我的问题的原因(我确信这可以清理),不幸的是我不知道我正在做什么来调试和编辑它。感谢指针(我正在使用通过Homebrew安装的RVM和postgres)。
source $ZSH/oh-my-zsh.sh
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
alias pg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'
export
PATH=$PATH:/usr/local/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0@global/bin:/Users/andrewharvey/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"
答案 0 :(得分:5)
对于mac用户 放在.profile文件的顶部。
export PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"
然后运行
. ~/.profile
答案 1 :(得分:3)
以下显示的输出是什么?看起来您尝试使用的pg_dump版本是9.1版本,而您要连接的集群是9.2。如果是这种情况,那么你需要确定9.2 pg_dump的正确路径。
pg_dump --version
which pg_dump
echo $PATH
[在OP提供更多细节后编辑]
根据此页面:https://wiki.postgresql.org/wiki/Installers/Mac_OS_X,自制软件可能会在/usr/local/bin
安装工具。但是,您当前的$PATH
/usr/local/bin
位于其他几条路径之后。
我已经整理了你的$PATH
设置了。因此,请尝试将以下更改保存到您的.zshrc
文件中,并将其源代码以获取更改(source ~/.zshrc
)。
export PATH=/usr/local/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/gems/ruby-2.0.0-p0@global/bin:/Users/andrewharvey/.rvm/rubies/ruby-2.0.0-p0/bin:/Users/andrewharvey/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH
export PATH="/usr/local/heroku/bin:$PATH"