怎么在PostgreSQL数据库中设置允许访问的IP

怎么在PostgreSQL数据库中设置允许访问的IP

怎么在PostgreSQL数据库中设置允许访问的IP?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

检验方法:

curl localhost:5432
# 访问成功提示
curl: (52) Empty reply from server
curl 127.0.0.1:5432
# 访问不成功提示
curl: (7) Failed to connect to 172.17.201.227 port 5432: Connection refused

修改pg_hba.conf

pg_hba.conf和postgresql.conf的存放目录都在(9.5版本)/etc/postgresql/9.5/main

host all  all  192.168.1.0/24  trust

表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,

其中,数字24是子网掩码,表示允许192.168.1.0–192.168.1.255的计算机访问

修改postgresql.conf

修改listen_addresses='localhost', 并放开注释(默认监听localhost)

# 192.168.1.111 为postgresql本机内网地址
listen_addresses='192.168.1.111'

重启postgresql

sudo /etc/init.d/postgresql restart

在本机

curl 192.168.1.111:5432
# 访问成功提示
curl: (52) Empty reply from server

在内网其他机器

curl 192.168.1.111:5432
# 访问成功提示
curl: (52) Empty reply from server

其他 创建用户

进入psql控制台

$ sudo -u postgres -i
$ psql

创建用户 密码

postgres=# CREATE USER myusername WITH PASSWORD 'mypassword' CREATEDB;

创建数据库 用户授权

postgres=# CREATE DATABASE mydb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE mydb to myusername;
postgres=# \q

测试

$ psql -d mydb;
mydb=# \dt

补充:PostgreSQL数据库开启IP访问功能

在PG的安装目录的data子文件夹下。

1.postgresql.conf

检查下面的值是否是监听所有ip地址的连接请求,如下:

listen_addresses = '*'

如果是则不需要修改。

2.pg_hda.conf

在末尾的地方添加一行,如下:

host  all     all     0.0.0.0/0   md5

看完上述内容,你们掌握怎么在PostgreSQL数据库中设置允许访问的IP的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!