如何在.bash_profile中正确设置路径以运行psql

时间:2014-11-01 03:33:57

标签: macos postgresql .bash-profile

我正在尝试运行pgSQL并且已经找到了似乎每篇SO文章来找到无效的解决方案。我的.bash_profile设置如此

export PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:'/Applications/Postgres.app/Contents/Versions/9.3/bin'/psql -p5432:/usr/bin:/bin"

我从跑步

开始
locate psql

它返回了这个:

/Applications/Postgres.app/Contents/Versions/9.3/bin/psql
/Applications/Postgres.app/Contents/Versions/9.3/share/doc/postgresql/html/app-psql.html
/Applications/Postgres.app/Contents/Versions/9.3/share/doc/postgresql/html/textsearch-psql.html
/Applications/Postgres.app/Contents/Versions/9.3/share/man/man1/psql.1
/Applications/Postgres.app/Contents/Versions/9.3/share/postgresql/psqlrc.sample

这是一个令人困惑的问题......如果我跑

echo $PATH

我明白了:

/Applications/Postgres93.app/Contents/MacOS/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Applications/Postgres.app/Contents/Versions/9.3/bin/psql:/usr/bin:/bin

我的猜测是,必须将输入类型直接输入命令行。

任何人都可以告诉我这里我做错了什么以及如何获得它以便我可以从命令行运行pgSQL?

1 个答案:

答案 0 :(得分:1)

以下是$PATH变量的无效条目:/Applications/Postgres.app/Contents/Versions/9.3/bin'/psql -p5432

您最想要的是以下内容:

export PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}:/Applications/Postgres.app/Contents/Versions/9.3/bin:/usr/bin:/bin"
alias psql="psql -p5432"

请注意,以这种方式使用psql别名会覆盖psql的任何进一步使用,提供-p5432参数(这可能是不可取的/会导致令人困惑的问题),所以你可以想为别名使用不同的名称,例如:

alias ppsql="psql -p5432"