You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pgAdmin4连接WSL2中PostgreSQL后无法查看其他客户端创建的数据库

问题排查及解决方案

1. 调整PostgreSQL监听配置

修改WSL2中PostgreSQL的配置文件/etc/postgresql/12/main/postgresql.conf,将listen_addresses参数的值从'localhost'改为'*',允许所有地址的连接请求。

2. 放开客户端访问权限

编辑同目录下的pg_hba.conf文件,在文件末尾追加以下两行配置,允许外部客户端使用密码验证连接PostgreSQL:

host    all             all             0.0.0.0/0               md5
host    all             all             ::/0                    md5

配置修改完成后,执行命令重启PostgreSQL服务生效:
sudo service postgresql restart

3. 更换pgAdmin连接地址为WSL2实体IP

WSL2的localhost与Windows系统的localhost并不完全互通,你需要先在WSL2终端执行ip addr show eth0,找到inet字段后对应的WSL2局域网IP(格式一般为172.x.x.x)。
在pgAdmin中新建服务器连接时,地址填写上述查询到的WSL2 IP,端口默认填5432,用户名密码填写你配置的PostgreSQL登录账号即可。

4. 验证账号权限

如果调整连接后还是看不到数据库,需要确认你pgAdmin连接使用的账号对目标数据库有访问权限:

  • 登录psql执行\l命令,查看所有数据库的所有者和权限配置
  • 若权限不足,执行命令授权:GRANT ALL PRIVILEGES ON DATABASE 目标数据库名 TO 登录用户名;

可选优化:固定WSL2 IP

WSL2默认每次重启都会更换IP,你可以通过修改Windows hosts文件添加WSL2 IP映射、或者配置开机自动端口转发脚本,避免每次连接都需要修改pgAdmin的连接地址。

内容的提问来源于stack exchange,提问作者Robert Jamborski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:21:02