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

问题描述 投票:0回答:2

我目前正在开发一个 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 有点不同,因为它是虚拟机 Windows,所以我从我的 rooter 地址尝试:

10.211.55.2

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

macos postgresql windows-10 dbforge
2个回答
0
投票

我想这个答案对你来说已经太晚了,但希望这能被接受作为答案,以帮助将来的人们。

路径可能会根据安装方法而改变,这里假设 Postgress.app

为了方便起见,这里将默认路径称为路径 o: /Users/[用户名]/Library/Application Support/Postgress/var-[版本]

  1. 设置一个指向应用程序路径的 PGDATA 环境变量,您可以在 shell 配置文件脚本中进行设置,但我们将仅从命令行运行它。将 [username] 替换为您的 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”。这将输出一些数据,您应该查找显示“默认网关”的行,它可能有一个 ipv6 地址(可能显示为乱码),但您正在查看的地址如下所示:

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

  1. 修改 $PGDATA/pg_hba.conf 并添加以下行,将 10.211.55.1 替换为步骤 3 中的任何内容。我在我的末尾使用了 /32 (以防万一地址发生变化),但您可能会使用如果您想进一步限制它,则为 /4 或 /8:

host all all 10.211.55.1/32 md5

  1. 打开 Parallels 并转到菜单首选项 -> 网络,并确保您处于左侧窗格中的“共享”状态。在右侧窗格中选中“在系统偏好设置中显示”框。如果锁定图标呈灰色,您可能需要单击该图标。完成后关闭。

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

  3. 在 Parallels Windows VM 内,编辑 C:\Windows\System32\drivers tc\hosts 中显示的主机文件,并添加以下行,将 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
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.