0

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

10.211.55.2

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

谢谢你的帮助 !

最大限度

4

2 回答 2

0

我想答案对您来说已经很晚了,但希望这将被接受为将来帮助人们的答案。

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

这里的默认路径将被称为路径,为方便起见:/Users/[username]/Library/Application Support/Postgress/var-[version]

  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\etc\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

于 2019-01-12T07:37:28.223 回答
-1

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

于 2018-03-29T09:23:35.023 回答