看起来我已经进行了设置,我的database.yml文件中使用的是postgres,并且我可以使用pgadmin III连接数据库,但是当我尝试使用psql命令测试版本时,它说无法识别?有任何想法我应该做什么吗?
我正在使用Windows和Ruby on Rails的命令提示符。 使用一键安装程序安装的PostgreSQL 9.2 EnterpriseDB。
看起来我已经进行了设置,我的database.yml文件中使用的是postgres,并且我可以使用pgadmin III连接数据库,但是当我尝试使用psql命令测试版本时,它说无法识别?有任何想法我应该做什么吗?
我正在使用Windows和Ruby on Rails的命令提示符。 使用一键安装程序安装的PostgreSQL 9.2 EnterpriseDB。
假设您使用EnterpriseDB打包的PostgreSQL“一键安装程序”在Windows上安装了PostgreSQL, psql
不会自动添加到 PATH
,这部分原因是当人们安装多个版本的PostgreSQL时,将其添加到路径中可能会导致混淆。
您需要指定psql
的完整显式路径,例如:
"%PROGRAMFILES%\Postgresql\9.2\bin\psql.exe"
或者将psql
添加到用户的PATH
环境变量中,参见例如这个指南。C:\PostgresSQL\9.2\;C:\PostgresSQL\9.2\bin;C:\PostgresSQL\9.2\bin\psql.exe
。我关闭了提示符并重新打开,但是当我尝试输入 psql
时,它仍然无法识别? - hellomelloPATH
变量,则添加一个。要验证它是否正确,请关闭并重新打开 cmd.exe
,然后键入 echo "%PATH%"
。编辑您的问题以添加结果(复制并粘贴)。 - Craig Ringerpsql.exe
本身,而是必须设置 PATH
到包含 psql.exe
文件夹的路径。如果你用绝对路径运行命令呢?例如(假设你安装的 PostgreSQL 拼写错误为 PostgresSQL,与你的评论相同) "C:\PostgresSQL\9.2\bin\psql.exe"
。引号是必需的。你实际上是否检查了路径?在你的安装中是否有 9.2
中间路径? - Craig Ringer打开命令行
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
bin
。 - majurageerthan*****;C:\Program Files\PostgreSQL\9.2\bin\
。******
后面有空格,则无法正常工作。您可以在cmd提示符中实际输入%PATH%
并查看环境变量和空格的外观。我已经为您尝试了两种情况,第一种有空格的情况出现了您提到的相同错误,而第二种没有空格的情况运行成功。你需要将bin和lib路径分别设置到你的PATH环境变量中,用分号隔开:
%PROGRAMFILES%\Postgresql\9.2\bin;%PROGRAMFILES%\Postgresql\9.2\lib