我想答案对您来说已经很晚了,但希望这将被接受为将来帮助人们的答案。
路径可能会根据安装方法而改变,这假设 Postgress.app
这里的默认路径将被称为路径,为方便起见:/Users/[username]/Library/Application Support/Postgress/var-[version]
- 设置一个指向应用程序路径的 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
- 修改 $PGDATA/postgresql.conf 并将以下内容添加到文件末尾并保存(如果您已经定义了这个,请根据需要进行修改):
listen_addresses = '*'
- 在您的 Parallels 虚拟机上打开 CMD 提示并输入“ipconfig”。这将输出一些数据,您应该查找显示“默认网关”的行,它可能有一个 ipv6 地址(可能显示为乱码),但您正在查看的地址如下所示:
Default Gateway . . . . . . . . . : 10.211.55.1
- 修改 $PGDATA/pg_hba.conf 并添加以下行,将 10.211.55.1 替换为步骤 3 中的任何内容。我在我的末尾使用了 /32(以防地址更改),但您可能会使用/4 或 /8 如果你想更多地限制它:
host all all 10.211.55.1/32 md5
打开 Parallels 并转到菜单首选项 -> 网络并确保您在左侧窗格中的“共享”中。在右侧窗格中,选中“在系统偏好设置中显示”框。如果它显示为灰色,您可能必须单击锁定图标。完成后关闭。
打开系统偏好设置 -> 网络并点击 Parallels 共享网络(或类似网络)并记下 IP 地址,默认通常为 10.211.55.2
在您的 Parallels Windows VM 中,编辑显示在 C:\Windows\System32\drivers\etc\hosts 中的主机文件并添加下面的行,将 IP 地址 (10.211.55.2) 替换为您在步骤 6 中获得的任何内容。注意:您可能无法直接在此处保存,因此将该文件复制到您可以访问的位置,编辑它,然后将其复制回来覆盖原始文件以方便使用
10.211.55.2 vmhost
在 OS X 中,重新启动 Postgres。使用 Postgres.app 时,只需将其打开并单击 [停止],然后单击 [开始]
在您的 Parallels Windows VM 中,您现在应该能够使用 PGAdmin、连接字符串或其他方式连接到 vmhost:5432。
这太酸了https://gist.github.com/justingarrick/11180527