2013-02-05 145 views
3

我有一個連接(使用SSH)到我的virtualbox(ubuntu)postgres服務器的問題。 我建立了所有很好,正確。通過終端Postgresql連接 - pgadmin

PostgreSQL的設置:

  • postgresql.conf - >允許所有進來的連接(*)和SSL設置爲TRUE
  • pg_hba.con的F - >之後很多的變化我來到這裏,似乎與工作點此設置:

IP4

host all all 0.0.0.0/0 trust 
hostssl all all 0.0.0.0/0 trust 
host all all 192.168.x.x/32 trust 
hostssl all all 192.168.x.x/32 trust 

我試過了:

  1. 在虛擬機上重新啓動我的postgres服務器。

  2. 然後我去了我的主機(Snow Leopard),建立了一個到virtualbox(ubuntu)的ssh連接,它正在工作。

  3. ping我的客機在端口5432也可以。

  4. 在我的主機(Snow Leopard)上打開pgadmin - >添加服務器192.68.56.1和數據庫pluto,用戶pippo。連接工作,我看到數據庫。

  5. 試圖打開終端雪豹並執行以下CMD:

    psql -h 192.168.56.1 -U pippo -d pluto 
    

    與ERROR:

    psql: FATAL: no pg_hba.conf entry for host "192.168.56.1", 
           user "pippo", database "pluto", SSL off 
    

我也試圖通過我的Java程序連接ANS我得到了相同的錯誤。
我在做什麼錯?

+0

不是問題 – Patric

+0

被警告:pgadmin3的(1.16) SQL編輯器與在50波特調制解調器上每分鐘輸入100個字一樣響應。對局域網應該沒問題。 –

+0

什麼是在postgresql.conf中設置的listen_addresses? –

回答

0

pgAdmin默認嘗試使用和不使用SSL進行連接。

我懷疑你只嘗試連接沒有 SSL通過psql,而服務器似乎需要SSL連接。嘗試:

psql "sslmode=require host=192.168.56.1 dbname=pluto" pippo 

More about sslmode in the manual.

+0

我得到以下錯誤信息:psql:服務器不支持SSL,但需要SSL – Patric

+0

我去了服務器,並在SSL選項列表中沒有什麼.... – Patric

+1

我會設置'log_statement = all ',連接pgAdmin和psql並檢查服務器日誌以找出差異。必須有一些不屬於你的問題。你是否從同一臺機器連接,相同的IP 192.168.56.1對兩者都可見? –

0

命令行打開我查詢到的pgAdmin:

-f包含您的SQL腳本文件,在查詢窗口

加載 - qc沒有密碼的連接字符串(你也可以使用ssl連接)

"C:\Program Files\PostgreSQL\9.4\bin\pgAdmin3.exe" -f "C:\slqFiles\FindFunctionByName.sql" -qc "host=localhost port=5432 dbname=myDatabase user=postgres" 

密碼將從位於應用程序文件夾中的密碼文件收集:%APPDATA%\ PostgreSQL的\ pgpass.conf

你需要權限連接。嘗試添加到C:\ Program Files文件\的PostgreSQL \ 9.6 \ DATA \ pg_hba.conf的下一行:

主機的所有一切::/0信任