PostgreSQL 设置允许访问IP的操作
PostgreSQL安装后默认只能localhost:5432访问
检验方法:
curllocalhost:5432 #访问成功提示 curl:(52)Emptyreplyfromserver
curl127.0.0.1:5432 #访问不成功提示 curl:(7)Failedtoconnectto172.17.201.227port5432:Connectionrefused
修改pg_hba.conf
pg_hba.conf和postgresql.conf的存放目录都在(9.5版本)/etc/postgresql/9.5/main
hostallall192.168.1.0/24trust
表示允许网段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/postgresqlrestart
在本机
curl192.168.1.111:5432 #访问成功提示 curl:(52)Emptyreplyfromserver
在内网其他机器
curl192.168.1.111:5432 #访问成功提示 curl:(52)Emptyreplyfromserver
其他创建用户
进入psql控制台
$sudo-upostgres-i $psql
创建用户密码
postgres=#CREATEUSERmyusernameWITHPASSWORD'mypassword'CREATEDB;
创建数据库用户授权
postgres=#CREATEDATABASEmydb; postgres=#GRANTALLPRIVILEGESONDATABASEmydbtomyusername; postgres=#\q
测试
$psql-dmydb; mydb=#\dt
补充:PostgreSQL数据库开启IP访问功能
在PG的安装目录的data子文件夹下。
1.postgresql.conf
检查下面的值是否是监听所有ip地址的连接请求,如下:
listen_addresses='*'
如果是则不需要修改。
2.pg_hda.conf
在末尾的地方添加一行,如下:
hostallall0.0.0.0/0md5
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。