2013-01-23 96 views
9

我在我的機器上有Apache服務器和PostgreSQL 9.1數據庫的本地開發站點。當我使用Windows時,我還安裝了Cygwin。我想訪問數據庫並通過pgAdmin III的Cygwin insead進行一些查詢,但它告訴我沒有找到psql命令。我應該如何在cygwin中設置psql命令?如何在cygwin中設置psql命令?

+0

cygwin的不再是「正式」的Postgres的(參見手冊的支持:「不建議在運行生產服務器的Cygwin,並 它應該只用於在舊版本的Windows上運行,其中原生編譯不起作用,如Windows 98.「)是否有一個特定的原因,你不想使用pgAdmin,或提供的本機窗口psql? –

+0

@RobertH其實並沒有什麼具體的原因,我只是覺得在cygwin中做所有的事情會比較方便,而不是在旁邊保留另一個pgAdmin程序。順便說一下,你提到的本地windows psql是什麼? – chaonextdoor

+0

@RobertH還有一件事,實際上我可以使用psql通過cygwin訪問我們生產站點的數據庫。但是,因爲我是Windows,我想也許我需要一些額外的設置來訪問我的本地數據庫。 – chaonextdoor

回答

-1

如果我正確理解你的問題,你正在運行cygwin,因爲你想在Windows上通過bash和psql運行對PostgreSQL的查詢,對嗎?

Cygwin的可以從慶典上運行Windows二進制文件,所以安裝本地Windows構建並確保psql.exe是在PATH你應該能夠在必要時複製可執行文件。

沒有必要安裝PostgreSQL的本地Cygwin構建。只需使用現有的psql工具,並確保您可以訪問Windows本機psql.exe。

+1

Windows psql使用Windows控制檯功能; Cygwin在像Console2這樣的終端中運行得最好,它不支持Windows控制檯API。所以psql在Cygwin中並不適用。我們需要的是一個像psql這樣的客戶端工具的Cygwin版本。 –

10

我發現Windows上Cygwin的最佳組合是普通Windows Postgres安裝與Cygwin psql相結合。

Cygwin psql(和其他命令行工具)可以很容易地從源代碼編譯。以下是9.2.4的步驟:

$ wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2 
$ tar xjf postgresql-9.2.4.tar.bz2 
$ cd postgresql-9.2.4/ 
$ ./configure 
$ cd src/bin/psql 
$ make 

這會創建一個與Cygwin很好地配合使用的psql.exe二進制文件。但是,默認情況下,它會嘗試使用Unix套接字而不是TCP連接到本地實例。因此,使用-h指定主機名和TCP力,例如:

$ ./psql -h localhost -U postgres 

移動這個psql.exe在某處你的路徑(如〜/ bin),然後在腳本中可能包加上「-h本地主機'爲了方便,沒有其他參數提供。

源可以被修改,從而改變默認的,而是需要實際工作;)

9

截至今天,你只需要在Cygwin的安裝PostgreSQL的客戶端包:

  • 運行你的cygwin setup.exe文件(這個可以運行多次到 添加更多軟件包)。
  • 類型PostgreSQL的到搜索框中,選擇PostgreSQL的客戶端和 按「下一步」進行安裝。

enter image description here

現在你可以打開Cygwin的終端輸入PSQL跑!

enter image description here