PostgreSQL 安装后默认只能localhost:5432 访问
检验方法:
1 2 3 |
curl localhost:5432 # 访问成功提示 curl: (52) Empty reply from server |
1 2 3 |
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
1 |
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)
1 2 |
# 192.168.1.111 为postgresql本机内网地址 listen_addresses= '192.168.1.111' |
重启postgresql
1 |
sudo /etc/init.d/postgresql restart |
在本机
1 2 3 |
curl 192.168.1.111:5432 # 访问成功提示 curl: (52) Empty reply from server |
在内网其他机器
1 2 3 |
curl 192.168.1.111:5432 # 访问成功提示 curl: (52) Empty reply from server |
其他 创建用户
进入psql控制台
1 2 |
$ sudo -u postgres -i $ psql |
创建用户 密码
1 |
postgres=# CREATE USER myusername WITH PASSWORD 'mypassword' CREATEDB; |
创建数据库 用户授权
1 2 3 |
postgres=# CREATE DATABASE mydb; postgres=# GRANT ALL PRIVILEGES ON DATABASE mydb to myusername; postgres=# \q |
测试
1 2 |
$ psql -d mydb; mydb=# \dt |
补充:PostgreSQL数据库开启 IP 访问功能
在PG的安装目录的data子文件夹下。
1.postgresql.conf
检查下面的值是否是监听所有ip地址的连接请求,如下:
1 |
listen_addresses = '*' |
如果是则不需要修改。
2.pg_hda.conf
在末尾的地方添加一行,如下:
1 |
host all all 0.0.0.0/0 md5 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/wlchn/article/details/78915813
查看更多关于PostgreSQL 设置允许访问IP的操作的详细内容...