Ruby on rails 博士后';psql';在windows环境中无法识别命令

Ruby on rails 博士后';psql';在windows环境中无法识别命令,ruby-on-rails,database,postgresql,Ruby On Rails,Database,Postgresql,看起来我已经设置好了,我的database.yml使用postgres,我可以将数据库连接到pgadmin III,但是当我尝试使用psql命令测试哪个版本时,它说无法识别?知道我应该做什么吗 我正在使用windows和RubyonRails的命令提示符。使用随EnterpriseDB一键式安装程序一起安装的PostgreSQL 9.2。假设您在Windows上安装的PostgreSQL带有EnterpriseDB打包的PostgreSQL“一键式”安装程序,psql不会自动添加到路径中。部分原

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


我正在使用windows和RubyonRails的命令提示符。使用随EnterpriseDB一键式安装程序一起安装的PostgreSQL 9.2。

假设您在Windows上安装的PostgreSQL带有EnterpriseDB打包的PostgreSQL“一键式”安装程序,
psql
不会自动添加到
路径中。部分原因是,如果用户安装了多个版本的PostgreSQL,将其添加到路径中可能会导致混乱

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

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

或者将
psql
添加到用户
PATH
环境变量中,请参见例如。

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


如果
******
后面有空格;那就不行了。实际上,您可以在cmd提示符中键入
%PATH%
,查看环境变量和空间的外观。我为您尝试了两种情况,第一种使用空格的情况与您提到的错误相同,而第二种使用空格的情况有效

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

%PROGRAMFILES%\Postgresql\9.2\bin;%PROGRAMFILES%\Postgresql\9.2\lib

打开命令行

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

Pg版本?您使用了什么安装程序?Windows版本?@CraigRinger这是企业版,下面的答案中有9.2个,但当我在路径“enterprise”中添加psql.exe时,它似乎仍然不起作用?你是说企业版吗?@CraigRinger是的。我完成了windows一键安装程序包是否需要重新启动命令提示符?我的路径中有以下内容:
C:\postgresql\9.2\;C:\PostgresSQL\9.2\bin;C:\PostgresSQL\9.2\bin\psql.exe
。我关闭了提示符并再次打开它,但当我尝试键入
psql
时,它仍然无法识别?我将它放在我的系统上environment@andrewliu只有中间的那个才有意义;您不能直接将路径设置为可执行文件,也不能设置为任意的父目录,路径必须包含直接的父目录。通常应修改用户路径,而不是系统路径;如果用户不存在
PATH
变量,则添加一个。要验证它是否正确,请关闭并重新打开
cmd.exe
,然后键入
echo“%PATH%”
。编辑您的问题以添加结果(复制并粘贴)。@andrewliu您是否将PostgreSQL安装到
C:\PostgreSQL
?这是一个不寻常的非默认安装位置。您确定它不在
程序文件
中吗?@andrewliu不,您的
路径
必须指向包含
psql.exe
的文件夹,而不是
psql.exe
自身。如果您以绝对路径运行命令,例如(假设您的安装像您的注释一样将
PostgreSQL
拼写错误为
PostgreSQL
“C:\PostgreSQL\9.2\bin\psql.exe”
。报价是必需的。你真的检查过路径了吗?您的安装中是否有
9.2
中间路径?也不要忘记在Windows 10上重新打开CMD.works!虽然我无法将pg安装到“c:\program files”中。它不是lib,但应该是
bin