Ubuntu 上 pgAdmin 网络配置实操指南
一 场景与端口梳理
- 常见部署有两种:
- 在 Ubuntu 上以 Web 模式运行 pgAdmin 4(默认端口 5050),通过浏览器访问;
- 在本地机器使用桌面版 pgAdmin 连接远程 PostgreSQL(默认端口 5432)。
- 无论哪种场景,都要明确:
- pgAdmin 自身的访问端口(仅 Web 模式需要开放);
- PostgreSQL 的监听端口(默认 5432,被客户端连接时需要开放/放行)。
二 安装与启动 pgAdmin Web 服务
- 更新并安装:
- sudo apt update
- sudo apt install pgadmin4
- 执行 Web 模式初始化(创建管理员账号、配置目录等):
- sudo /usr/pgadmin4/bin/setup-web.sh
- 启动服务(常见服务名:pgadmin4 或 apache2,取决于安装方式):
- sudo systemctl start pgadmin4 或 sudo systemctl start apache2
- 访问地址:
- 浏览器打开:http://服务器IP:5050(若配置了 HTTPS,则用 https)。
三 系统网络与防火墙放行
- 使用 UFW 放行端口(示例):
- 放行 pgAdmin Web 端口:sudo ufw allow 5050/tcp
- 放行 PostgreSQL 端口:sudo ufw allow 5432/tcp
- 仅允许指定来源访问 pgAdmin(更安全):sudo ufw allow from 192.168.1.100 to any port 5050
- 启用/查看防火墙:sudo ufw enable,然后 sudo ufw status
- 云服务器安全组/NACL 需同步放行对应端口(如 5050、5432)。
四 远程连接 PostgreSQL 的必要配置
- 修改 PostgreSQL 监听地址(postgresql.conf):
- 路径通常为:/etc/postgresql//main/postgresql.conf
- 设置:listen_addresses = ‘*’(或包含服务器内网/公网 IP)
- 配置客户端认证(pg_hba.conf,同目录):
- 示例(按需收紧网段与认证方式):
- host all all 0.0.0.0/0 md5
- hostssl all all 0.0.0.0/0 scram-sha-256
- 重启数据库使配置生效:
- sudo systemctl restart postgresql
- 说明:上述是“数据库端”配置;pgAdmin 作为客户端,只需在连接对话框中填写正确的 主机/IP、端口 5432、用户名 与 密码 即可。
五 常见问题快速排查
- 服务状态与端口可达:
- 检查 PostgreSQL:sudo systemctl status postgresql
- 检查 pgAdmin Web 服务:根据安装方式查看 pgadmin4 或 apache2 状态
- 本机连通性测试:curl -I http://127.0.0.1:5050;远程测试:telnet 服务器IP 5050 或 5432
- 防火墙/云安全组:确认已放行 5050/5432,并核对来源网段
- 日志定位:
- pgAdmin 日志常见路径:~/.pgadmin/pgadmin4.log 或 /var/log/pgadmin/pgadmin4.log
- 虚拟机/容器网络:
- VMware 使用 桥接/NAT 均可;VirtualBox 确认适配器已连接,必要时更换 NAT/桥接/内部网络 模式测试
- 连接参数核对:
- 主机名/IP、端口、SSL 开关、用户名/密码是否正确;必要时用 psql 命令行先行验证数据库连通性。