postgresql安装完成后竟然只支持localhost,远程连接需修改如下两个配置文件

###1. 修改postgresql.conf

postgresql.conf存放位置在/etc/postgresql/9.x/main(Linux)或者类似C:\Program Files\PostgreSQL\9.6\data(Windows)下,这里的x取决于你安装PostgreSQL的版本号,编辑或添加下面一行,使PostgreSQL可以接受来自任意IP的连接请求。

listen_addresses = ‘*’

###2. 修改pg_hba.conf pg_hba.conf,位置与postgresql.conf相同,虽然上面配置允许任意地址连接PostgreSQL,但是这在pg中还不够,我们还需在pg_hba.conf中配置服务端允许的认证方式。任意编辑器打开该文件,编辑或添加下面一行

host all all 0.0.0.0/0 md5

默认pg只允许本机通过密码认证登录,修改为上面内容后即可以对任意IP访问进行密码验证。对照上面的注释可以很容易搞明白每列的含义,具体的支持项可以查阅文末参考引用。

完成上两项配置后执行sudo service postgresql restart(Linux)或在windows services重启PostgreSQL服务后,允许外网访问的配置就算生效了