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”