从WSL 2连接到Postgresql的现有示例

jhiyze9q  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(223)

我在Windows 10上运行Ubuntu WSL 2。在我安装WSL之前,我已经在Windows 10上安装了Postgresql。我想从WSL连接到数据库,但到目前为止它失败了。
运行时:

psql

我得到:

psql: error: could not connect to server: Connection refused
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

运行时:

psql -h 127.0.0.1 -p 5432 -U postgres

我得到:

psql: error: could not connect to server: Connection refused
    Is the server running on host "127.0.0.1" and accepting
    TCP/IP connections on port 5432?

而且WSL显然看不到数据库。

sudo service postgresql start

它会传回:

postgresql: unrecognized service

我知道一个解决方案是在WSL中安装数据库,但我想先尝试连接到现有示例。

2ic8powd

2ic8powd1#

您应该编辑pg_hba.conf
1.检查wsl子网
从cmd执行ipconfig。下面是一个示例。

Ethernet Adapter vEthernet (WSL)
   IPv4 Address . . . . . . . . . . . .: 172.19.230.81

1.编辑pg_hba.conf
pg_hba.conf路径为C:\Program Files\PostgreSQL\{postgresqlVersion}\data\pg_hba.conf如果您安装了Windows Postgresql,则为默认安装路径
子网掩码是ipconfig中使用值

host    all     all     172.19.230.0/24 md5

1.重新启动postgresql您可以从services.msc重新启动postgresql服务名称为postgresql-x64-{postgresqlVersion}
1.从psql访问

psql -h 172.19.230.81 -p 5432 -U postgres

相关问题