25

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

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

4

4 回答 4

45

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

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

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

或添加psql到用户PATH环境变量中,参见例如本指南

于 2013-04-08T01:31:50.620 回答
12

打开命令行

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
于 2016-01-27T15:09:56.140 回答
3

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

如果后面有空格******;那么它将无法正常工作。您实际上可以输入%PATH%您的 cmd 提示符并查看您的环境变量和空间的样子。我为您尝试了这两种情况,第一种带有空格的错误与您提到的相同,而第二种没有空格则有效。

于 2013-08-12T00:41:36.787 回答
2

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

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

于 2014-10-14T20:19:48.543 回答