以前写过一篇笔记《树莓派4 安装 OpenResty + PostgreSQL》,记录如何在树莓派上装 PostgreSQL,不过那时候只是为了在上面做开发,没有考虑过对外服务。如今为了能够在别的机器上做开发,所以要想办法配置一下对外服务。
0. 系统
- Raspberry Pi 4B
- Debian 10 buster 更新到最新
- 如上篇文章所述安装和配置 PostgrSQL
1. 判断本地运行状态。
# 查看服务状态
sudo service --status-all
# [ + ] postgresql
# 查看端口
sudo netstat -plunt | grep postgres
# tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 6629/postgres
服务在运行,端口也在侦听,直接连接,失败,被服务器拒绝。
2. 安装防火墙工具调整规则
猜测可能跟防火墙有关,iptables 我不熟,所以安装 ufw 帮忙:
# 安装
sudo apt install ufw
# 启动端口
sudo ufw allow 5432
sudo ufw allow from 10.0.0.10 # 我的 iMac
3. 修改侦听端口
修改防火墙后还是连不上。使用 Telnet 工具可以本地连接,但不能远程连接,推断应该是侦听端口的问题。回去仔细看了一下端口状态,觉得应该是端口没配好,所以修改配置,侦听 0.0.0.0
,然后重启 PostgreSQL 服务,再连接就成功了。
listen_addresses = '0.0.0.0'
port = 5432
host all all 0.0.0.0/0 md5
host all all ::/0 md5
参考链接:
欢迎吐槽,共同进步