Postgresql 配置远程访问, 以及 虚拟机访问物理机上的postgresql 的ip配置
测试环境:物理机一台,安装了 Postgresql 9.6 的服务,并已启动虚拟机一台(在上面的物理机上,使用 VMware 搭建)物理机与虚拟机可以互相 ping 通通过下面的配置,来允许远程的机器连接到我的 Postgresql 服务postgresql.conf将该文件中的listen_addresses项值设定为“”,在9.0 Windows版中,该项配置已经是“”无需修改。
·
测试环境:
- 物理机一台,安装了 Postgresql 9.6 的服务,并已启动
- 虚拟机一台(在上面的物理机上,使用 VMware 搭建)
- 物理机与虚拟机可以互相 ping 通
通过下面的配置,来允许远程的机器连接到我的 Postgresql 服务
- postgresql.conf
将该文件中的listen_addresses项值设定为“”,在9.0 Windows版中,该项配置已经是“”无需修改。 - pg_hba.conf
在该配置文件的host all all 127.0.0.1/32 md5行下添加以下配置,或者直接将这一行修改为以下配置
host all all 0.0.0.0/0 md5
如果不希望允许所有IP远程访问,则可以将上述配置项中的0.0.0.0设定为特定的IP值
PS:上面这两份文件,默认都在你的 postgresql 的 data 目录下。一般是 ${POSTGRESQL}/data 下面。
通过上面这么配置之后,其他人可以连接我的 postgresql 服务了,但是虚拟机却不可以,下面是虚拟机里用的 jdbc url :
jdbc:postgresql://192.168.142.1:5432/test
之所以这么写,是因为我的虚拟机的IP地址是192.168.142.8,然后,我采用的是 NAT 模式来连接 物理机与虚拟机的,so,对于 虚拟机而言,物理机的IP地址就是 192.168.142.1。
可事实是,这么配置是 NG 的。
后来我尝试试了一下,使用物理机的真实IP地址试了一下,即改成下面这样的:
jdbc:postgresql://172.16.120.146:5432/test
果然是可以的。
参考文档
更多推荐
已为社区贡献8条内容
所有评论(0)