无法通过DBeaver连接VPS上运行的PostgreSQL的问题求助
解决DBeaver通过SSH隧道连接远程PostgreSQL失败的问题
排查步骤:
检查PostgreSQL监听配置
找到PostgreSQL配置文件postgresql.conf(路径通常为/etc/postgresql/<版本号>/main/或/var/lib/pgsql/<版本号>/data/),修改listen_addresses参数为'*'或明确允许本地回环地址,保存后重启服务:sudo systemctl restart postgresql验证pg_hba.conf访问规则
同目录下打开pg_hba.conf,添加允许本地回环连接的规则:host all all 127.0.0.1/32 scram-sha-256 host all all ::1/128 scram-sha-256保存后重启PostgreSQL服务生效。
检查服务器防火墙
确保本地回环的5432端口(PostgreSQL默认端口)未被防火墙拦截,执行:sudo ufw allow from 127.0.0.1 to any port 5432(若使用iptables,需对应添加允许规则)
核对DBeaver连接参数
- 主机填写
127.0.0.1(SSH隧道映射到服务器本地回环) - 端口保持默认5432,用户名、密码需为服务器上PostgreSQL的合法账号
- 确认数据库名称输入正确,无拼写错误
- 主机填写
测试服务器本地连接
SSH登录服务器后,执行以下命令验证本地PostgreSQL是否可正常访问:psql -h 127.0.0.1 -U <你的用户名> <数据库名>若此命令失败,说明PostgreSQL本地监听配置存在问题,回到第一步重新排查。
内容的提问来源于stack exchange,提问作者Vishnu Thulasidoss
相关产品推荐
相关产品推荐

