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

树莓派PostgreSQL远程连接失败,求排查解决方法

PostgreSQL 13远程连接故障排查(DietPi/Debian 11)

已完成操作

  • 在树莓派上安装PostgreSQL 13
  • 设置树莓派静态IP
  • 修改/etc/postgresql/13/main/postgresql.conf:设置listen_addresses = '*'
  • 修改/etc/postgresql/13/main/pg_hba.conf:添加规则host all all 0.0.0.0/0 md5

当前故障现象

  1. 本地执行pg_isready返回正常:
    root@pibox:~# pg_isready
    /run/postgresql:5432 - accepting connections
    
  2. 本地指定IP执行pg_isready无响应:
    root@pibox:~# pg_isready -d <db_name> -h <static_ip> -p 5432 -U postgres
    <pi's IP>:5432 - no response
    
  3. 本地指定127.0.0.1执行pg_isready同样无响应
  4. macOS 12.4笔记本远程连接报错:
    psql: error: connection to server at "<the pi's IP>", port 5432 failed: Connection refused
    
解决步骤

1. 重启PostgreSQL服务

修改配置文件后必须重启服务才会生效:

systemctl restart postgresql

验证服务状态,确保显示active (running):

systemctl status postgresql

2. 确认PostgreSQL监听状态

用ss命令检查PostgreSQL是否真正监听所有地址的5432端口:

ss -tulpn | grep postgres

正常输出应包含0.0.0.0:5432和:::5432(IPv6)。如果仅显示/run/postgresql/.s.PGSQL.5432,需重新检查postgresql.conf:

  • 打开文件确认listen_addresses = '*'前没有#注释
  • 检查文件是否有重复的listen_addresses配置(后续行可能覆盖设置)

3. 开放防火墙端口

DietPi默认可能启用ufw防火墙,需开放5432端口:

ufw allow 5432/tcp
ufw reload

验证规则是否生效:

ufw status

确保看到5432/tcp允许所有来源访问

4. 设置postgres用户密码

远程连接需要postgres用户有有效密码,执行以下命令设置或重置:

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'your_secure_password';"
exit

替换your_secure_password为实际密码

5. 调整pg_hba.conf规则顺序

pg_hba.conf规则按顺序匹配,确保你添加的host all all 0.0.0.0/0 md5没有被前面的拒绝/限制规则覆盖:

nano /etc/postgresql/13/main/pg_hba.conf

将这条规则移到所有拒绝规则之前,修改后重启PostgreSQL服务

6. 本地测试IP连接

用psql直接指定树莓派IP测试连接:

psql -d postgres -h <static_ip> -p 5432 -U postgres

输入密码后若能进入数据库,说明本地IP连接正常

7. macOS端网络连通性测试

先确认树莓派IP可达:

ping <pi_static_ip>

再测试端口是否开放:

telnet <pi_static_ip> 5432

若telnet提示Connected to <pi_static_ip>,说明网络无问题;否则检查路由器端口转发(跨局域网场景)或树莓派防火墙配置

内容的提问来源于stack exchange,提问作者Demetri Pananos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:05:25