似乎我已經設置好了,我有我的database.yml使用postgres,並且我可以用pgadmin III連接數據庫,但是當我嘗試使用psql命令時測試什麼版本,它說這是不被承認?任何想法我應該做什麼?在Windows環境下無法識別postgres的'psql'命令
我使用的是Windows,並在Ruby on Rails上使用命令提示符。使用與EnterpriseDB一鍵安裝程序一起安裝的PostgreSQL 9.2。
似乎我已經設置好了,我有我的database.yml使用postgres,並且我可以用pgadmin III連接數據庫,但是當我嘗試使用psql命令時測試什麼版本,它說這是不被承認?任何想法我應該做什麼?在Windows環境下無法識別postgres的'psql'命令
我使用的是Windows,並在Ruby on Rails上使用命令提示符。使用與EnterpriseDB一鍵安裝程序一起安裝的PostgreSQL 9.2。
假設您在Windows上安裝PostgreSQL並使用EnterpriseDB打包的PostgreSQL「一鍵式」安裝程序,psql
不會自動添加到PATH
。這部分是因爲當人們安裝了多個版本的PostgreSQL時,將其添加到路徑中可能會引起混淆。
你需要指定psql
完整明確的路徑,例如:
"%PROGRAMFILES%\Postgresql\9.2\bin\psql.exe"
或添加psql
用戶PATH
環境變量,例如參見this guide。
我是否需要重新啓動我的命令提示符?我在路徑中有這些:'C:\ PostgresSQL \ 9.2 \; C:\ PostgresSQL \ 9.2 \ bin; C:\ PostgresSQL \ 9.2 \ bin \ psql.exe'。我關閉了提示符並再次打開它,但是當我嘗試輸入'psql'時仍然無法識別? – hellomello 2013-04-08 01:38:48
我把它放在我的系統環境中 – hellomello 2013-04-08 01:41:04
@andrewliu只有中間的一個纔有意義;您不直接將路徑設置爲可執行文件,也不將其設置爲任意父目錄,則該路徑必須包含直接的父目錄。通常應該修改用戶路徑而不是系統路徑;如果用戶不存在'PATH'變量,則添加一個。要驗證它是否正確關閉並重新打開'cmd.exe',然後鍵入'echo「%PATH%」'。編輯您的問題以添加結果(複製並粘貼它)。 – 2013-04-08 02:35:12
這是因爲在;
和你的psql路徑之間不應該有空格,所以它應該像*****;C:\Program Files\PostgreSQL\9.2\bin\
。
如果在******
之後有空格,那麼它將無法工作。你可以在你的cmd提示符下輸入%PATH%
,看看你的環境變量和空間是怎樣的。我爲你嘗試了兩種情況,第一種與空間有相同的錯誤,第二種沒有空間。
您需要同時設置垃圾桶,並在您的PATH環境變量用分號隔開的lib路徑:
%PROGRAMFILES%\ PostgreSQL的\ 9.2 \ BIN;%PROGRAMFILES%\ PostgreSQL的\ 9.2 \ lib中
另外不要忘記重新打開CMD。 – 2015-12-21 20:19:53
打開命令行
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
也適用於Windows 10!雖然我無法將pg安裝到「c:\ program files」中。 – Pascal 2016-01-29 08:53:03
感謝它在Windows 10上的工作。 – 2016-09-20 23:13:39
PG的版本?你使用什麼安裝程序?Windows版本? – 2013-04-08 01:30:52
@CraigRinger它是企業版本,9.2以下的答案,但它似乎仍然不起作用,當我在我的路徑 – hellomello 2013-04-08 01:41:58
「企業」中添加psql.exe?你的意思是EnterpriseDB版本? – 2013-04-08 02:30:17