好像我已经设置好了,我有我的 database.yml 使用 postgres,我可以用 pgadmin III 连接数据库,但是当我尝试使用 psql 命令测试什么版本时,它说是无法识别?知道我应该做什么吗?
我正在使用 Windows 并在 Ruby on Rails 中使用命令提示符。使用通过 EnterpriseDB 一键安装程序安装的 PostgreSQL 9.2。
好像我已经设置好了,我有我的 database.yml 使用 postgres,我可以用 pgadmin III 连接数据库,但是当我尝试使用 psql 命令测试什么版本时,它说是无法识别?知道我应该做什么吗?
我正在使用 Windows 并在 Ruby on Rails 中使用命令提示符。使用通过 EnterpriseDB 一键安装程序安装的 PostgreSQL 9.2。
假设您使用 EnterpriseDB 打包的 PostgreSQL“一键式”安装程序在 Windows 上安装了 PostgreSQL,psql
则不会自动添加到该安装程序中PATH
。这部分是因为当人们安装了多个版本的 PostgreSQL 时,将其添加到路径中可能会导致混淆。
您需要指定完整的显式路径psql
,例如:
"%PROGRAMFILES%\Postgresql\9.2\bin\psql.exe"
或添加psql
到用户PATH
环境变量中,参见例如本指南。
打开命令行
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
这是因为你的 psql 路径和你的路径之间不应该有空格,;
所以它应该像*****;C:\Program Files\PostgreSQL\9.2\bin\
.
如果后面有空格******
;那么它将无法正常工作。您实际上可以输入%PATH%
您的 cmd 提示符并查看您的环境变量和空间的样子。我为您尝试了这两种情况,第一种带有空格的错误与您提到的相同,而第二种没有空格则有效。
您需要在 PATH 环境变量中设置 bin 和 lib 路径,并用分号分隔:
%PROGRAMFILES%\Postgresql\9.2\bin;%PROGRAMFILES%\Postgresql\9.2\lib