Postgresql安装后,默认是不允许外部TCP/IP访问的,也就是说你只能使用localhost访问。有时候我们想让其他人远程连接我们的数据库,怎么办?
1、修改postgresql.conf文件
找到PostgreSQL的安装目录,打开postgresql.conf文件,修改listen_addresses,
我是Mac上使用brew安装的,操作如下:
cd /usr/local/var/postgres vi postgresql.conf
找到下面的内容
# - Connection Settings - #listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses就是要监听的IP地址,去掉前面的注释,然后新增本地IP地址
#listen_addresses = 'localhost,192.168.1.160' # what IP address(es) to listen on;
2、修改pg_hba.conf文件
同样是在这个目录下,找到pg_hba.conf文件,打开文件后找到下面的行:
# TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 trust
新增一行内容如下,然后保存。
host all postgres 192.168.1.160/16 password
注意:这里几个值的意思分别是:
all:所有数据库
postgres:用户名
192.168.1.160/16:允许访问你的数据库的网络
password:连接数据库时需要密码
3、重启PostgreSQL服务
一切修改完成后,重启启动PostgreSQL服务,再试试从另一台主机上连接本机PostgreSQL,是不是连接成功啦?