2015-09-07 16 views
18

我試圖連接到使用下面的命令安裝在遠程服務器的Postgres數據庫時「psql的:無法連接到服務器的連接被拒絕」錯誤db_username -d db_name</p> <p>的psql -h <code>host_ip</code> -U:連接到遠程數據庫

這發生的錯誤:

PSQL:無法連接到服務器:連接被拒絕 是服務器上的主機上運行「」並接受 端口5432上的TCP/IP連接?

  1. Postgres安裝的版本是9.4。
  2. 主機操作系統:Ubuntu的15.04
  3. 客戶端操作系統:Centos的7

我已經試過以下,但問題仍未解決:

  1. 編輯pg_hba.conf文件,包括

host all all 0.0.0.0/0 md5

  • 被修改 '的postgresql.conf' 和改變了聽參數
  • 的listen_addresses = '*'

  • 重新啓動postgres服務。
  • 在主機和客戶端上禁用防火牆和iptables。
  • 我通過在本地運行psql命令進行檢查,它工作。
  • 我嘗試了question中給出的第二種解決方案。運行nmap給了我下面的輸出:
  • Starting Nmap 6.47 (http://nmap.org) at 2015-09-07 18:08 IST Nmap scan report for 10.17.250.250 Host is up (0.0000040s latency). Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http

    我失去了一些東西。希望有人能幫忙。

    +0

    防火牆仍然阻塞端口5432.檢查您的配置爲iptables。 –

    +0

    @Dmitry我通過運行'sudo ufw disable'來禁用iptables,但是我仍然遇到同樣的錯誤。 –

    +0

    你可以試試'netstat -na | grep 5432'並查看postgresql是否綁定到所有接口? – kometen

    回答

    27
    cd /etc/postgresql/9.x/main/ 
    

    打開文件名爲postgresql.conf

    sudo vi postgresql.conf 
    

    此行添加到該文件

    listen_addresses = '*' 
    

    命名然後打開文件pg_hba.conf

    sudo vi pg_hba.conf 
    

    ,並添加此行該文件

    host all all 0.0.0.0/0 md5 
    

    它允許用加密的密碼訪問所有用戶的所有數據庫

    重新啓動服務器

    sudo /etc/init.d/postgresql restart 
    
    +5

    嗨,不工作在UBUNTU 16 LTS與pg9.5 ...你有一個完整的'pg_hba.conf'和'postgresql.conf'腳本適應這個env和權限?我需要使用'PGPASSWORD = postgres psql -U postgres'。 –

    4

    檢查在postgresql.conf中定義的端口。我安裝postgres 9.4使用端口5433而不是5432

    0

    我認爲你使用的是機器名而不是主機的ip。

    當我用機器的名字嘗試時,我得到了同樣的錯誤。因爲,只有當客戶端和主機都在同一網絡中並且它們安裝了相同的操作系統時才允許它。

    0

    對我來說,我沒有改變在蔚藍的默認安全策略管理門戶。原來是22號港口,其餘全部被拒絕。只要我添加5432端口,一切都會變好。

    1

    確保設置在配置文件中正確應用。

    vim /etc/postgresql/x.x/main/postgresql.conf 
    

    請嘗試以下操作以查看日誌並找到您的問題。

    tail /var/log/postgresql/postgresql-x.x-main.log 
    
    相關問題