pgadmin4要添加服务器的根本原因是:它本身只是一个管理界面,不存储任何业务数据,只有注册服务器后,才能与PostgreSQL实例建立连接,执行查询、备份、权限管理等工作。如果把PostgreSQL比作仓库,pgadmin4就是仓库门口的登记处,先登记库房编号和钥匙,后面才能进去搬货。
pgadmin4为什么要添加服务器:它管的是PostgreSQL,不是文件夹
pgadmin4不像Excel那样双击文件就能打开,它的工作方式是客户端-服务器结构,PostgreSQL数据库服务跑在操作系统后台,pgadmin4只负责发送SQL指令和展示结果,两者之间隔着网络、端口、用户认证,添加服务器这一步,就是让pgadmin4知道后台PostgreSQL实例的准确位置和登录方式。
行业共识认为,数据库管理工具与数据库服务进程分离,是生产环境的基本安全边界,pgadmin4不会自动扫描局域网里有哪些PostgreSQL,也不像文件管理器那样显示一个“数据库”图标,所有连接信息都需要手动注册,注册完成后,pgadmin4会把连接参数保存在本地或服务端存储里,下次打开就能直接连,所以添加服务器不是多此一举,而是客户端工具启动工作的第一项配置。
pgadmin4怎么连接本地数据库?添加服务器就是第一步
本地数据库同样需要添加服务器,很多新手以为装完PostgreSQL,pgadmin4里会自动出现数据库,其实不会,你需要在左侧对象浏览器里手动创建服务器节点。
具体操作路径如下:
- 打开pgadmin4,左侧面板右键点击“Servers”
- 选择“Register”下的“Server…”
- 在“General”页签填写Name,本地开发库”
- 切换到“Connection”页签
- Host填
0.0.1或localhost - Port填PostgreSQL实际监听端口,通常为
5432 - Maintenance database填
postgres - Username填数据库用户,常用
postgres - Password填对应用户密码
- 勾选“Save password”可避免每次都输入
- 点击“Save”
保存时会自动测试连接,如果弹出“Connection to server succeeded”,说明服务器添加成功,如果失败,需要回头检查连接参数。
pgadmin4服务器名称怎么填?这个字段只影响显示

这里的Name字段很容易被误解,它不要求填数据库服务器的主机名,也不要求填IP地址,Name只是pgadmin4左侧树里显示的一个标签,你可以填“本地测试”“生产主库”“北京机房从库”都可以,只要自己看得懂。
填Name时建议使用有业务含义的名称,尤其是同时管理多个PostgreSQL实例的时候,比如同一个pgadmin4里注册三个服务器,如果Name都叫“PostgreSQL”,排查问题时会非常混乱,生产环境一般会按环境、地域、用途命名,北京生产主库”“上海备份从库”。
pgadmin4添加服务器端口是多少?默认5432及常见修改
PostgreSQL安装后的默认监听端口是`5432`,大部分情况下,pgadmin4里Port字段直接填`5432`即可,但有些运维人员会修改端口,比如一台机器跑多个PostgreSQL实例时,第二个实例可能用`5433`,第三个用`5434`。
如果忘了端口,可以登录服务器执行以下命令查看:
SHOW port;
在Linux下也可以用:
grep -E '^sports=' /etc/postgresql//main/postgresql.conf
或者用系统命令查看监听端口:
ss -tlnp | grep postgres
只有pgadmin4里填的端口和PostgreSQL实际监听端口完全一致,连接才能建立。
pgadmin4连接postgresql失败原因:多数问题出在监听和认证
添加服务器时最常见的报错是“Unable to connect to server”,这个问题的原因不一定在pgadmin4本身,很多时候是PostgreSQL服务端配置阻止了连接。
PostgreSQL服务没在监听TCP/IP
PostgreSQL默认只监听本地回环地址`localhost`,如果你从另一台机器用pgadmin4连接,需要在`postgresql.conf`中修改:
listen_addresses = ''
修改后重启PostgreSQL服务,如果只想监听局域网某块网卡,可以填具体IP地址,只改这一项还不够,还要配合pg_hba.conf的认证规则。
pg_hba.conf认证规则拦截
`pg_hba.conf`控制哪些IP、哪些用户、用哪种方式连数据库,pgadmin4通过TCP/IP连接时,匹配的规则必须是允许的,常见规则示例:
host all all 192.168.1.0/24 scram-sha-256

如果规则配置成reject,或者密码加密方式不符,连接会被拒绝,修改pg_hba.conf后需要执行pg_ctl reload或重启服务。
防火墙和云安全组没有放行端口
本地Windows防火墙可能拦截5432入站流量,云服务器还需要在云控制台的安全组里添加入方向规则,放行TCP 5432,相当一部分pgadmin4远程连接失败案例,都是安全组漏配造成的。
快速排查命令:
telnet 服务器IP 5432
如果telnet不通,先检查防火墙和安全组,如果telnet通但pgadmin4还失败,再检查pg_hba.conf和用户密码。
密码加密方式与pgadmin4版本不匹配
PostgreSQL 15及之后版本默认使用`scram-sha-256`密码加密,旧版pgadmin4或旧驱动可能不支持这种加密,会报认证错误,解决办法有两个:升级pgadmin4到较新版本,或者给数据库用户重新设置密码。
pgadmin4和navicat哪个好用?添加服务器逻辑完全不同
有人拿pgadmin4和navicat对比,其实两者在服务器管理思路上区别很大,pgadmin4是免费开源的Web应用,可以部署在服务器上,团队成员通过浏览器访问,Navicat是商业付费的原生桌面软件,连接配置存在本机。
从添加服务器角度看,两者对比如下:
| 对比项 | pgadmin4 | Navicat |
|---|---|---|
| 连接信息存储位置 | 服务端或本地配置 | 本地客户端 |
| 团队共享服务器列表 | 可以集中共享 | 需要手动导出导入 |
| 费用 | 免费 | 付费授权 |
| 平台形态 | 浏览器访问 | 原生桌面窗口 |
| 适合场景 | 多成员统一管理、Linux服务器环境 | 个人开发、快速操作 |
如果你管理一台云服务器上的PostgreSQL,只想自己偶尔查数据,Navicat可能更轻便,但如果团队几个人都需要访问同一组数据库,pgadmin4的集中部署优势更明显,这个选择没有绝对答案,要看实际工作流。
添加服务器之后才能做的三件事
没有添加服务器,pgadmin4的很多菜单都是灰色的,只有成功注册服务器节点后,以下操作才会解锁。

备份与还原数据库
右键点击某个数据库,选择“Backup”,可以生成`.sql`或自定义格式备份文件,还原时选择“Restore”,需要先添加服务器并选中目标数据库,备份文件路径必须让PostgreSQL服务进程可读写,这一点在Linux服务器上尤其重要。
用户与权限管理
服务器节点展开后能看到“Login/Group Roles”,在这里可以创建数据库用户、设置密码、分配角色、管理表级权限,对于生产库,权限要按最小化原则配置,pgadmin4提供图形化操作,比命令行更直观。
会话与锁监控
打开服务器节点下的“Dashboard”标签,能看到活动会话、事务状态、锁等待情况,当数据库出现慢查询或锁冲突时,可以先在这里查看当前连接和等待锁的SQL,这些监控数据都依赖已添加的服务器连接。
添加服务器并不是一次性动作,数据库迁移、端口变更、密码更新后,pgadmin4里的连接参数也要同步修改,右键服务器节点,选择“Properties”就能调整Host、Port、Username等配置。
pgadmin4添加服务器常见问题解答
pgadmin4怎么连接本地数据库时提示“Unable to connect to server”?
先确认PostgreSQL服务是否启动,Linux下用`systemctl status postgresql`,Windows下看服务列表,如果服务正常,检查`pg_hba.conf`是否允许127.0.0.1的TCP连接,或者改用`localhost`走Unix域套接字,多数情况下,本地连接失败与密码错误或服务未启动有关。
pgadmin4添加服务器端口是多少?如果忘了端口怎么查?
默认端口是5432,如果连接失败,先在psql里执行`SHOW port;`查看实际监听端口,也可以在服务器上执行`ss -tlnp | grep postgres`,pgadmin4里填写的端口必须与这个结果一致。
pgadmin4和navicat哪个好用?在免费场景下怎么选?
免费场景下pgadmin4是最直接的选择,功能覆盖日常管理、备份、权限和监控,Navicat需要购买授权,但交互更接近传统桌面软件,操作手感更顺,两者都能管理PostgreSQL,核心差异在于部署方式和团队协作模式,如果服务器只能通过浏览器访问,pgadmin4是事实上的标准选择。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/844983.html


评论列表(3条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于选择的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
@糖山9824:读了这篇文章,我深有感触。作者对选择的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于选择的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!