在 Ubuntu 上使用 pgAdmin 管理 PostgreSQL 的完整步骤
一 环境准备与安装
- 更新系统并安装数据库与工具:
- 安装 PostgreSQL:sudo apt update && sudo apt install postgresql postgresql-contrib
- 启动并设置开机自启:sudo systemctl enable --now postgresql
- 安装 pgAdmin 4(桌面/服务器均可,二选一或同时安装)
- APT 仓库安装(推荐,便于更新):
- 导入 GPG 公钥:curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
- 添加仓库:echo “deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main” | sudo tee /etc/apt/sources.list.d/pgadmin4.list
- 安装:sudo apt update && sudo apt install pgadmin4
- 使用官方 .deb 包:
- 下载对应版本 .deb,然后:sudo dpkg -i pgadmin4--linux-x64.deb;若依赖缺失执行:sudo apt -f install
- 初始化与启动
- 桌面版:在应用菜单搜索并启动“pgAdmin 4”
- 服务器版(APT 安装常见):执行 sudo /usr/pgadmin4/bin/setup-web.sh 按向导创建管理员账号;启动/重启服务:sudo systemctl start|restart pgadmin4;访问地址:http://服务器IP:5050。
二 配置 PostgreSQL 允许连接
- 设置 postgres 用户密码(如未设置):sudo -u postgres psql -c “ALTER USER postgres WITH PASSWORD ‘your_password’;”
- 允许本地与远程密码登录(示例为 Debian/Ubuntu 常见路径,版本号以实际为准,如 /etc/postgresql/14/main/)
- 编辑 pg_hba.conf,添加:
- 本地密码登录:host all all 127.0.0.1/32 md5
- 远程密码登录:host all all 0.0.0.0/0 md5
- 编辑 postgresql.conf,开放监听:listen_addresses = ‘*’
- 重启数据库:sudo systemctl restart postgresql
- 防火墙放行(如使用 UFW):sudo ufw allow 5432/tcp。
三 在 pgAdmin 中创建服务器连接
- 打开 pgAdmin(桌面应用或浏览器访问 http://服务器IP:5050),登录管理员账号。
- 左侧“Servers”右键 → Create → Server,填写:
- General:Name(自定义,如“Ubuntu-PG”)
- Connection:
- Host name/address:localhost(本机)或服务器 IP/域名
- Port:5432
- Maintenance database:postgres
- Username:postgres
- Password:上一步设置的密码
- 保存后展开“Servers”即可管理数据库、角色、表空间与执行查询。
四 常见问题与排查
- 无法远程连接
- 核对 postgresql.conf 中 listen_addresses=‘*’ 与 pg_hba.conf 已允许目标网段;云服务器需确保安全组/防火墙放行 5432/tcp;重启 PostgreSQL 后再试。
- 浏览器访问 pgAdmin 失败
- 确认服务运行:sudo systemctl status pgadmin4;若端口被占用或配置变更,重启服务;访问 http://服务器IP:5050 并使用初始化时设置的账号登录。
- 客户端连接云数据库实例
- 多数云数据库要求通过公网地址连接,请在控制台为实例绑定公网 IP,并在 pgAdmin 的 Host 填写该 公网 IP,端口 5432,使用实例提供的用户名与密码。