2013-05-17 22 views
0

我想連接兩個不同系統的postgreSQL數據庫。我正在使用dblink連接兩個postgreSQL數據庫。在不同系統中連接兩個postgreSQL數據庫的錯誤

但IAM獲取連接錯誤說

ERROR: could not establish connection 
DETAIL: could not connect to server: No route to host (0x00002751/10065) 
Is the server running on host "192.168.0.5" and accepting 
TCP/IP connections on port 5432? 


********** Error ********** 

ERROR: could not establish connection 
SQL state: 08001 
Detail: could not connect to server: No route to host (0x00002751/10065) 
Is the server running on host "192.168.0.5" and accepting 
TCP/IP connections on port 5432? 

我試圖爲

select * from dblink('user=postgres host=192.168.0.5 password=geethu dbname=partition','select count(*) from part1') as qwe(tid int); 

我已經包括IP地址的和編輯的hba.con文件,也postgresql.conf文件將listen_address設置爲*

任何人都可以幫助我嗎?在此先感謝

+0

那麼,首先在'psql'中測試它。相同的連接字符串在同一個主機上的'psql'中工作嗎? 'psql'user = postgres host = 192.168.0.5 password = geethu dbname = partition''。如果它在'psql'中有效,我會將SELinux或特定於進程的防火牆視爲可能的罪魁禍首。 –

+0

通過執行上述相同的任務,我可以連接到另一個系統......但事實是,我已經建立了兩個月後的連接..我懷疑我是否已經fogotten任何步驟......沒有防火牆問題..我只是確定它。 – gela

+0

這不是很清楚。您是否在*完全相同的系統上運行'psql'命令,以至於使用dblink連接* from *時遇到問題的PostgreSQL服務器上運行?你是否使用'sudo -u postgres psql ...'作爲該系統上的'postgres'用戶來嘗試它?並且**您正在與*進行連接的系統是否啓用了SELinux **? * *有*防火牆,無論是軟件(iptables等)或兩者之間的硬件防火牆/路由器? –

回答

0
  1. 您需要啓用的Postgres聆聽來自「不同的系統的IP地址端口5432,這是通過編輯pg_hba.conf文件和文件postgres.conf完成。檢查here
  2. 確保沒有阻止請求的防火牆。
+0

內部沒有防火牆問題的端口。我編輯了hba.conf文件和postgresql.conf文件 – gela

+0

這不是'pg_hba.conf'問題,否則會得到不同的錯誤。 'pg_hba.conf'與PostgreSQL偵聽的端口和地址無關,只有它接受連接的源地址。它也不是用於PostgreSQL正在偵聽的地址。如果沒有收聽,用戶會得到「拒絕連接」。它可能是一個遠程,本地或中間防火牆。 –

+0

但我禁用了我的wifi接入,並設置了本地地址 – gela