从 DBeaver(在 Windows 上)访问 PostgreSQL(在 wsl2 上)失败:“连接被拒绝:连接”

Hir*_*oki 8 postgresql wsl-2

我正在尝试使用 Postgres 并从 DBeaver 访问它。

  • Postgres 安装到 wsl2 (Ubuntu 20)
  • DBeaver 安装到 Windows 10 中

根据此文档,如果您从 Windows 访问在 Linuc 上运行的应用程序,则localhost可以使用。

然而...

在此输入图像描述

连接被拒绝,并显示localhost。另外,我不知道这条消息的含义:Connection refused: connect

有人看到这个的潜在原因吗?任何建议将被认真考虑。

笔记:

  • 密码应该没问题。当我在 wsl2 中使用psql并输入密码时,psql可以使用密码
  • 我在 Windows 端没有 Postgres。它仅存在于 wsl2 上

Hir*_*oki 8

我自己找到了解决方案。

我只需要允许 wsl2(Ubuntu) 上的 TCP 连接,然后重新启动 postgres。

sudo ufw allow 5432/tcp
# You should see "Rules updated" and/or "Rules updated (v6)"
sudo service postgresql restart
Run Code Online (Sandbox Code Playgroud)

我没有更改 IPv4/IPv6 连接信息。这是我在 中看到的pg_hba.conf

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
Run Code Online (Sandbox Code Playgroud)

  • 允许 `5432/tcp` 后,我必须使用 `wsl --shutdown` (WSL 之外)才能连接。 (2认同)