PostgreSQ 連接問題 FATAL: no pg_hba.conf entry for host

PostgreSQ數據庫爲了安全,它不會監聽除本地以外的所有連接請求,當用戶通過JDBC訪問是,會報一些如下的異常: 

org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host 

要解決這個問題,只需要在PostgreSQL數據庫的安裝目錄下找到/data/pg_hba.conf,找到“# IPv4 local connections:” 

1、允許本地使用PGAdmin3登錄數據庫,數據庫地址localhost,用戶user1,數據庫user1db:

1
host    user1db    user1    127.0.0.1/32    md5


2、允許10.1.1.0~10.1.1.255網段登錄數據庫:

1
host    all    all    10.1.1.0/24    md5

3、信任192.168.1.10登錄數據庫:

1
host    all    all    192.168.1.10/32    trust

pg_hba.conf修改後,使用pg_ctl reload重新讀取pg_hba.conf文件,如果pg_ctl找不到數據庫,則用-D /.../pgsql/data/ 指定數據庫目錄,或export PGDATA=/.../pgsql/data/ 導入環境變量。

 

另:PostgreSQL默認只監聽本地端口,用netstat -tuln只會看到“tcp 127.0.0.1:5432 LISTEN”。修改postgresql.conf中的listen_address=*,監聽所有端口,這樣遠程才能通過TCP/IP登錄數據庫,用netstat -tuln會看到“tcp 0.0.0.0:5432 LISTEN”


發佈了31 篇原創文章 · 獲贊 2 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章