PostgreSQL 连接问题 FATAL: no pg_hba.conf entry for host

4

The server doesn’t grant access to the database: the server reports 
FATAL: no pg_hba.conf entry for host “192.168.0.123”, user “postgres”, database “postgres” FATAL: no pg_hba.conf entry for host “192.168.0.123”, user “postgres”, database “postgres”

PostgreSQL数据库为了安全,它不会监听除本地以外的所有连接请求,当用户通过JDBC访问是,会报一些如下的异常:

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

要解决这个问题,只需要在PostgreSQL数据库的安装目录下找到/data/pg_hba.conf,找到“# IPv4 local connections:”

在其下加上请求连接的机器IP

host all all 127.0.0.1/32 md5

32是子网掩码的网段;md5是密码验证方法,可以改为trust

pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o options] [-p path]
pg_ctl stop [-W] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ]
pg_ctl restart [-w] [-s] [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-o options]
pg_ctl reload [-s] [-D datadir]
pg_ctl status [-D datadir]
pg_ctl kill [signal_name] [process_id]

配置之后重新加载文件:

./pg_ctl  reload -s -D  /home/arcgis/arcgis/portal/usr/arcgisportal/db/

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/ 导入环境变量。

————————————————
版权声明:本文为CSDN博主「Soyoger」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36330643/article/details/72731316

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.