0

最近我将我的 Linux 发行版更新为 wsl2。出现错误,因此我的 rails 应用程序无法连接到 PostgreSQL。我按照本文中的说明进行操作一切正常,直到我重新启动计算机。重新启动后,命令会在该术语cat /etc/resolv.conf下显示不同的 IP 地址。nameserver似乎每次重新启动/关闭计算机后,我都必须更改pg_hba.conf. 有什么方法可以将 wsl2 配置为稳定的nameserver,这样就不需要pg_hba.conf每次都更改?谢谢。

4

1 回答 1

1

这篇文章的启发。这是我为解决问题所做的:

1.关闭生成/etc/resolv.conf

使用您的 Linux 提示符(我使用的是 Ubuntu),使用以下内容修改(或创建)/etc/wsl.conf

[network]
generateResolvConf = false

2.重启WSL2虚拟机

退出所有 Linux 提示并运行以下 Powershell 命令

wsl --shutdown

3.创建自定义/etc/resolv.conf

打开一个新的 Linux 提示符并 cd 到/etc

如果resolv.conf软链接到另一个文件,请删除链接

rm resolv.conf

新建一个resolv.conf,内容如下

nameserver 172.20.128.1

4.重启WSL2虚拟机

5.pg_hba.conf编辑C:\Program Files\PostgreSQL\pg_version\data

TYPE    DATABASE        USER            ADDRESS                 METHOD
host    all             all             172.20.0.1/16           md5

所以,这样就不用pg_hba.conf每次重启后都进行编辑了。

于 2020-06-10T15:02:06.867 回答