psql - Mac试图连接安装在远程服务器虚拟机中的Ubuntu系统中的postgreSQL

时间:2018-01-21 00:21:04

标签: linux postgresql ubuntu remote-access psql

在前面道歉,也许这里的情况有点复杂。我在网上到处搜索但找不到完美的解决方案,而且我已经尝试了其他帖子中提到的几乎所有解决方案。

  • 情况:

所以我在Ubuntu系统中安装了postgreSQL数据库。该系统实际上是VMware工作站12上的虚拟机,安装在Windows 7专业版上。现在我试图通过我的MacBook pro 2013远程访问postgreSQL数据库。

在Mac终端中,我尝试的命令行是:

  

psql -U postgres -h xxx.xxx.xxx.xx

“xxx.xxx.xxx.xx”表示Windows 7计算机的IP地址。结果是失败:

  

psql:无法连接到服务器:操作超时       服务器是否在主机“169.254.121.2”上运行并接受       端口5432上的TCP / IP连接?

  • 我做了什么:

    1. 编辑了pg_hba.conf文件以包含
  

主持全部0.0.0.0/0 md5

  1. 编辑postgresql.conf以包含
  2.   

    的listen_addresses = '*'

    1. 重新启动postgres服务。
    2. 在主机上禁用防火墙。
    3. 我通过在本地运行psql命令来检查它是否有效。 此外,在同一个VMware上我还有其他Ubuntu系统。它们都可以很好地连接和访问这个Ubuntu系统中的数据。
    4. 运行Nmap,输出为
    5.   

      港口国服务

           

      5432 / TCP open postgresql

      • 下一步是什么?我还能尝试其他什么吗?任何建议都非常感谢,如果上述任何内容含糊不清,请告诉我。我会澄清更好的诊断。谢谢大家!

1 个答案:

答案 0 :(得分:0)

不知怎的设法让它运转起来..

所以,当我在另一个Ubuntu系统上运行“Nmap”时,它会显示

  

港口国服务

     

5432 / TCP open postgresql

然而,当我在Mac上运行“Nmap”时,它是一个不同的端口,3389,主要用于Windows远程桌面。所以我做的是检查这个Ubuntu虚拟机的网络配置,从“桥接”到“ NAT ”,然后执行端口转发 5432.现在工作正常......

我在某些地方读到过VMware赞成桥接,而VirtualBox更喜欢NAT +端口转发。我很困惑,因为在我的情况下肯定不是这样。也许我错了。