前言
提起PostgreSQL,很多人的固有印象还停留在黑乎乎的终端窗口。在不少人的认知里,操作PG数据库就等于和命令行打交道:创建库、新建表、维护用户权限、排查慢查询,全都要靠手写SQL指令完成。一旦忘记语法、字段名或者权限配置,就要反复翻文档、试命令,新手入门门槛高,就算是老手,做日常运维、核对表结构的时候也比较耗时间。
很多人不知道,PostgreSQL生态自带强大的可视化管理工具pgAdmin。不用全程依赖psql命令行,网页端就能直观看到所有数据库、表、索引、约束、角色权限,可视化编写 SQL、一键执行、查看执行计划,还能浏览日志、监控连接状态、导出数据。原本需要好几条命令才能完成的操作,现在鼠标简单点选就能搞定。
本次教程,基于CentOS7系统,采用「系统安装PostgreSQL14 + Docker 部署pgAdmin」的方案,一步步完成数据库安装、远程访问配置,解决连接踩坑问题,最终在pgAdmin网页端成功连上宿主机PG,告别纯黑框命令行管理,让PostgreSQL的使用与运维变得更加轻松直观。
1.pgAdmin是什么?
pgAdmin是PostgreSQL官方推荐、开源免费的可视化管理工具,专门用来管理PostgreSQL数据库,支持网页版与桌面客户端,是PG生态最主流的管理面板。
✅ 核心特点
- 原生适配PostgreSQL专门为PG设计,完整支持PG所有特性:角色权限、schema、分区表、触发器、存储过程、扩展、逻辑复制等,不会像通用数据库工具那样丢失PG独有的功能。
- B/S网页架构(你现在用的版本) 网页版pgAdmin可以部署在Docker、服务器上,浏览器直接访问,不用在每台电脑单独装客户端。你当前就是Docker容器部署的网页版pgAdmin4。
- 可视化替代命令行 不用死记psql命令,鼠标点选就能:
- 创建 / 删除数据库、表、索引、视图
- 管理数据库用户、角色、权限
- 可视化写SQL,执行、查看结果,自动生成执行计划(慢查询调优神器)
- 查看数据库连接、后台进程、日志、磁盘占用
- 导入、导出SQL/CSV备份数据
- 跨平台 支持Windows、Linux、macOS;网页版只要浏览器就能打开。
📌 适合人群
- PostgreSQL新手:不想全程敲黑框psql命令,可视化理解表结构
- 开发人员:快速写SQL、调试语句、查看执行计划
- 运维:日常监控、权限管理、简单备份恢复
⚠️ 小误区
pgAdmin跑在Docker容器里,容器内
127.0.0.1是容器自身,不能直接访问宿主机的PostgreSQL,必须填写宿主机真实内网IP。
一句话总结
PostgreSQL是数据库服务(存放数据),pgAdmin是它的可视化网页管理面板,相当于数据库的网页后台,替代psql命令行做图形化操作。
2.安装前提
系统基础环境
- 操作系统:支持Linux(CentOS7/8、Ubuntu、Debian等)
- 内核版本:Linux内核 ≥ 3.10(CentOS7默认内核3.10,符合最低门槛)
- 网络:服务器能拉取Docker镜像,可以访问外网(拉取
dpage/pgadmin4镜像) - 资源最低配置
- CPU:1核起步
- 内存:至少512M,推荐 ≥1G;内存过低会出现pgAdmin网页加载卡顿、500报错
预先装好Docker环境
- 已安装Docker Engine,并且Docker服务正常运行
# 校验命令
docker -v
systemctl status docker
- Docker后台服务设置开机自启(可选,服务器推荐)
systemctl enable docker
网络与端口规划
- 宿主机端口预留:需要一个空闲端口(你用的是
5050),端口不能被其他程序占用
# 查看端口占用示例
ss -tulpn | grep 5050
- 防火墙放行pgAdmin访问端口:外部浏览器访问pgAdmin网页,需要在firewalld开放对应端口
firewall-cmd --permanent --add-port=5050/tcp
firewall-cmd --reload
如果你后续要连接宿主机 PostgreSQL 数据库,PG 的 5432 端口也需要放行。
数据库前置
- PostgreSQL服务正常运行,监听地址设置为
*(listen_addresses='*'),不能仅监听 127.0.0.1 - pg_hba.conf访问策略允许pgAdmin容器网段访问 PG
- 数据库账号(postgres)已设置登录密码,不能是空密码
- 容器pgAdmin连接宿主机PG时,不能填写127.0.0.1,必须填写宿主机真实内网 IP
其他前置
- 时间同步:服务器系统时间准确,避免cookie、会话登录异常
- 权限:操作服务器需要root或者具备sudo权限
- 域名(可选):如果想域名访问pgAdmin,提前准备域名并做解析(内网使用不需要)
3.安装pgAdmin
Docker一键部署pgAdmin4
docker run -d \
--name pgadmin4 \
-p 5050:80 \
-e PGADMIN_DEFAULT_EMAIL=admin@pg.com \
-e PGADMIN_DEFAULT_PASSWORD=Admin@123456 \
-v pgadmin-data:/var/lib/pgadmin \
--restart=always \
dpage/pgadmin4:6.21
查看是否启动成功:
docker ps
查看日志是否报错:
docker logs pgadmin4
部署完成后,在浏览器中输入 http://IP:5050 就能看到pgadmin的界面:
4.使用pgadmin
使用docker部署时的账号密码登录,并把语言设置成中文:
登录成功!
添加postgres服务:
设置名称:
连接设置:
- 主机名称 / 地址填写宿主机内网IP
192.168.42.140 - 端口保持默认5432
- 维护数据库为postgres
- 用户名填写postgres并录入数据库登录密码
开启保存密码选项,界面右下角是蓝色的保存按钮,用于提交PostgreSQL数据库连接配置。
- 可以先查看自己所有的用户:
导入成功:
pgAdmin网页管理面板的数据库仪表盘页面,左侧浏览器栏已成功连接名为postgres的PostgreSQL服务器;页面上方展示多组可视化监控图表,包含服务器会话、每秒事务、元组输入输出、数据块I/O等实时性能曲线,下方服务器活动区域列出数据库所有会话进程,能直观看到PID、连接用户、客户端来源、会话状态与等待事件,其中一条会话来自pgAdmin自身,状态为active,实现网页端一站式监控数据库运行状态。
手动创建数据库:
pgAdmin网页端的「创建 – 数据库」弹窗,当前停留在General基础标签页,数据库名称输入框填写ceshi,所有者下拉菜单选择超级用户postgres,右下角蓝色保存按钮用于提交创建操作,全程鼠标操作即可完成新建数据库,无需手写CREATE DATABASE SQL语句。
查看sql语句:
创建成功:
手动创建用户:
pgAdmin网页端的「创建 – 登录 / 组角色」弹窗,当前在General基础标签页,角色名称输入框填入ceshi,上方还有定义、权限、成员、安全等配置子标签页,右下角蓝色保存按钮,用来新建数据库登录账号,可视化完成PostgreSQL用户角色创建,不用手写CREATE ROLE语句。
pgAdmin创建登录 / 组角色窗口的权限标签页,可以可视化配置角色权限开关,包含是否允许登录、是否设为超级用户、能否新建角色、能否创建数据库、是否继承父角色权限、是否支持流复制备份等选项,当前仅开启「从父角色继承权限」,其余选项保持关闭状态,右下角提供保存按钮,鼠标勾选即可完成角色权限配置,不用手写权限相关SQL。
创建成功:
表空间也同理!
更多精彩内容等你去挖掘~
pgAdmin本身默认只能在内网访问,只能在服务器所在局域网打开网页管理PostgreSQL,在外网、家里电脑就无法直接连接数据库面板。搭配cpolar内网穿透 就能轻松突破内网限制,不需要公网IP、不用修改路由器端口映射,一行命令即可生成公网访问地址。无论身在何处,浏览器访问cpolar生成的公网链接,就能打开pgAdmin可视化面板,远程查看数据库状态、新建库表、调试SQL,随时随地管理你的PostgreSQL服务,远程运维数据库变得简单高效。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh
安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar
Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:pgadmin,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:5050
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
7.保留固定公网地址
使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是pgadmin,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
很多人初次接触PostgreSQL,都会陷入一个固有认知:数据库操作只能依靠黑乎乎的命令行,建库、建用户、调SQL、查看数据库状态,全部要手写psql指令,上手难度高,运维效率低。
读完本文就能发现,完全不必死守命令行。借助pgAdmin这款PostgreSQL官方开源可视化工具,网页端鼠标点选就能完成绝大多数数据库管理工作,直观查看表结构、配置账号权限、监控数据库会话、分析SQL执行计划,大幅降低PostgreSQL的使用门槛。
本次教程采用「宿主机CentOS7部署PostgreSQL14 + Docker运行pgAdmin」的方案,解决了容器pgAdmin连接宿主机数据库的 IP 踩坑问题,成功打通数据库连接。如果需要外网远程管理,还可以搭配cpolar内网穿透,无需公网IP、不用配置路由器端口映射,一条命令即可生成公网访问地址,随时随地通过浏览器打开pgAdmin面板,远程维护PostgreSQL数据库。
命令行依旧是PostgreSQL强大的操作方式,但pgAdmin让数据库管理不再只局限于黑框终端。图形化面板搭配cpolar内网穿透,兼顾便捷性与远程访问能力,不管是新手学习PG,还是开发、运维日常管理数据库,都是一套省心好用的方案。
感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站




































