从Windows 10主机连接安装在WSL2 Ubuntu中的PostgreSQL时遇到的问题。

问题描述 投票:-1回答:1

我在从Windows 10主机连接到安装在WSL2 Ubuntu中的PostgreSQL时遇到了很大的麻烦。

以下是我目前所做的工作。

  1. 为Postgres用户设置密码。
  2. 在pg_hpa.conf中设置以下内容。

    local all postgres md5

    host all all 0.0.0.0/0 md5

  3. 在postgresql.conf中设置以下内容。

    listen_addresses = '*'

  4. 测试成功,我可以连接到 psql -U postgres - 所以密码应该设置正确。

当我尝试从Windows 10主机使用pgAdmin或psql连接时,我得到以下错误。

error: could not connect to server: FATAL: password authentication failed for user "postgres"

我可以在pg_hpa.conf或其他PostgreSQL配置中更改任何其他可能的帮助吗?

我想我可能与WSL2有自己的IP有关,即使是主机上的连接看起来也是来自localhost。连接似乎是建立了,但由于某种原因,当它不是在Ubuntu内部建立时,验证失败。

postgresql pgadmin wsl-2
1个回答
0
投票

我后来用以下方法进行了测试 nc -l 5432 由于某些原因,5432端口在本地主机上无法到达WSL2,但在WSL-2的IP上却可以。如果我使用其他免费端口,例如5434(在Windows和WSL-2上都是免费的),它可以正常工作,我可以通过windows上的localhost连接到WSl-2上的PostgreSQL服务。

自从最初发布问题后,我没有改变任何选项 - 只有端口。

更新:事实证明,在Windows上确实有一个旧安装的postgres进程在5432端口监听。这就解释了一切。..:

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