在Windows环境中无法识别postgres'psql'命令

时间:2013-04-08 01:13:59

标签: ruby-on-rails database postgresql

好像我已经设置了,我使用postgres我的database.yml,我可以用pgadmin III连接数据库,但是当我尝试使用psql命令测试什么版本时,它说不是识别?知道我应该做什么吗?

我正在使用Windows并使用Ruby on Rails的命令提示符。使用随EnterpriseDB一键安装程序安装的PostgreSQL 9.2。

4 个答案:

答案 0 :(得分:39)

假设您使用EnterpriseDB打包的PostgreSQL“一键式”安装程序在Windows上安装了PostgreSQL,psql并未自动添加到PATH。这部分是因为当人们安装了多个版本的PostgreSQL时,将其添加到路径可能会造成混淆。

您需要指定psql的完整显式路径,例如:

"%PROGRAMFILES%\Postgresql\9.2\bin\psql.exe"

或将psql添加到用户PATH环境变量,请参阅例如this guide

答案 1 :(得分:6)

打开命令行

psql --version

如果在上面的行中没有显示psql版本,请按照以下步骤进行操作

(For Windows 7 OS)

Mycomputer->Properties->Advanced System Settings->EnvironmentVariables->Path->Edit->
(Donot remove any existing Path)

添加此

;C:\Program Files\PostgreSQL\9.5\bin;C:\Program Files\PostgreSQL\9.5\lib

然后保存

重新打开命令提示符并重复

psql --version

C:\Users\rumi>psql --version

psql (PostgreSQL) 9.5.0

答案 2 :(得分:3)

这是因为;和你的psql路径之间不应该有空格,所以它应该像*****;C:\Program Files\PostgreSQL\9.2\bin\

如果******之后有空格;然后它将无法正常工作。实际上,您可以在cmd提示符中键入%PATH%,并查看环境变量和空间的外观。我为你尝试了两种情况,第一次使用空间时遇到了你提到的相同错误而第二次没有空间工作。

答案 3 :(得分:2)

您需要在用分号分隔的PATH环境变量中设置bin和lib路径:

%PROGRAMFILES%\ PostgreSQL的\ 9.2 \ BIN;%PROGRAMFILES%\ PostgreSQL的\ 9.2 \ lib中