从Windows 10(Parallels)dbForge Studio访问在Mac OS X上运行的Postgres

时间:2018-03-25 22:17:21

标签: macos postgresql windows-10 dbforge

我目前正在开发一个 Golang 应用,我正在使用PostgreSQL。问题是,我找到了 dbForge Studio for PostgreSQL ,我想尝试一下。但是,由于某些原因,我无法连接到我的数据库,我不明白为什么。

我使用 Postgres.App (在Mac OS上)创建了一个“ServerTest”,在localhost:5432上运行。它有3个数据库:

  • emixam23
  • postgres的
  • 模板1

dbForge Studio Express ,我尝试打开一个连接:

  • 主持人: 127.0.0.1
  • 发布: 5432
  • 用户: root
  • 密码: root
  • 允许保存密码
  • 数据库:

Connection Name: 127.0.0.1

失败:Error: 08006: No connection could be made because the target machine actively refused it 127.0.0.1:5432 CONNECTION FAILURE

然而,经过一些互联网研究后,它似乎与localhost有点不同,因为它是一个虚拟机窗口,所以我试着从我的rooter地址开始:

10.211.55.2

但是,它仍然不起作用,同样的错误。你知道为什么吗?

感谢您的帮助!

最高

2 个答案:

答案 0 :(得分:0)

我想这里的答案来得太晚了,但是希望这会成为将来帮助人们的答案。

路径可能会根据安装方法而变化,这假定Postgress.app

为方便起见,此处将默认路径称为路径:/ Users / [用户名] /库/应用程序支持/ Postgress / var- [版本]

  1. 设置一个指向应用程序路径的PGDATA环境变量,您可以在shell配置文件脚本中进行设置,但是我们仅从命令行运行它。用您的OSX用户名和版本替换[用户名]。截至撰写本文时,这将是11:

export PGDATA="/Users/[username]/Library/Application Support/Postgres/var-[version]

示例,用户LimpingNinja,版本11:

export PGDATA="/Users/LimpingNinja/Library/Application Support/Postgres/var-11

  1. 修改$ PGDATA / postgresql.conf并将以下内容添加到文件末尾并保存(如果已定义,请根据需要对其进行修改):

listen_addresses = '*'

  1. 在Parallels虚拟机上打开一个CMD提示符,然后键入“ ipconfig”。这将输出一些数据,您应该查找“ Default Gateway”行,它可能具有ipv6地址(可能显示为乱码),但是您正在查看的地址如下所示:

Default Gateway . . . . . . . . . : 10.211.55.1

  1. 修改$ PGDATA / pg_hba.conf并添加以下行,用步骤3中的内容替换10.211.55.1。我在我的末尾使用了/ 32(以防地址更改),但是您可以如果您想进一步限制,则可以使用/ 4或/ 8:

host all all 10.211.55.1/32 md5

  1. 打开Parallels,然后转到“菜单首选项”->“网络”,并确保您位于左侧窗格的“共享”中。在右窗格中,选中“在系统偏好设置中显示”框。如果此图标变灰,则可能必须单击“锁定”图标。完成后关闭。

  2. 打开“系统偏好设置”->“网络”,然后单击“ Parallels Shared Network”(或类似名称)并记下IP地址,默认通常为10.211.55.2

  3. 在Parallels Windows VM内,编辑显示在C:\ Windows \ System32 \ drivers \ etc \ hosts上的hosts文件,并添加以下行,用您的IP地址替换IP地址(10.211.55.2)具有步骤6的功能。注意:您可能无法直接在此处保存文件,因此请将文件复制到您可以访问的位置,进行编辑,然后再复制回去,以覆盖原始文件

10.211.55.2 vmhost

  1. 在OS X中,重新启动Postgres。使用Postgres.app时,只需将其打开并单击[停止],然后单击[开始]

  2. 现在,在Parallels Windows VM中,您应该能够使用PGAdmin,连接字符串或任何其他方式连接到vmhost:5432。

这很酸https://gist.github.com/justingarrick/11180527

答案 1 :(得分:-1)

看起来像连接配置问题。 尝试连接本机工具,例如pgAdmin。如果连接成功,它会证明dbForge问题。否则,尝试在Pg配置或虚拟机的网络可用性中找到答案。