温馨提示×

linux pgadmin怎么远程

小樊
44
2026-09-18 13:47:44
栏目: 智能运维

在 Linux 上用 pgAdmin 远程连接 PostgreSQL,通常有两种常见场景,我分开说,你按需看。


一、pgAdmin 安装在本地(Windows / Linux 桌面),远程连 Linux 上的 PostgreSQL

这是最常见的情况。

1. 在 Linux 服务器上配置 PostgreSQL

(1)修改 postgresql.conf

sudo vim /etc/postgresql/<版本>/main/postgresql.conf

确保:

listen_addresses = '*'

(如果是 localhost 只能本机连)

(2)修改 pg_hba.conf

sudo vim /etc/postgresql/<版本>/main/pg_hba.conf

添加(示例允许所有 IP,生产不建议):

host    all    all    0.0.0.0/0    md5

或指定 IP:

host    all    all    192.168.1.100/32    md5

(3)重启 PostgreSQL

sudo systemctl restart postgresql

(4)开放防火墙

sudo ufw allow 5432/tcp
# 或
firewall-cmd --add-port=5432/tcp --permanent
firewall-cmd --reload

2. 在 pgAdmin 中添加远程服务器

  1. 打开 pgAdmin
  2. 右键 Servers → Register → Server
  3. General:
    • Name:随便写
  4. Connection:
    • Host:服务器 IP
    • Port:5432
    • Maintenance database:postgres
    • Username / Password:数据库账号

✅ 此时即可远程管理


二、pgAdmin 装在 Linux 服务器上(Web 版 pgAdmin 4)

如果你是 Linux 服务器上跑 pgAdmin Web,想从浏览器远程访问:

1. 安装 pgAdmin 4(以 Ubuntu 为例)

sudo apt install pgadmin4-web
sudo /usr/pgadmin4/bin/setup-web.sh

2. 允许远程访问

编辑:

sudo vim /etc/pgadmin4/config_local.py

添加:

SERVER_MODE = True

(默认就是)

3. 防火墙

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

4. 浏览器访问

http://服务器IP/pgadmin4

⚠️ 注意:

  • 不要用 root 运行
  • 公网环境一定要 HTTPS + 强密码

三、常见问题

❌ 连不上

  • PostgreSQL 没监听 0.0.0.0
  • pg_hba.conf 没生效
  • 云服务器安全组没开 5432
  • 防火墙没放行

✅ 安全建议

  • 不用 0.0.0.0/0
  • 用 SSH 隧道更稳:
ssh -L 5432:localhost:5432 user@server

pgAdmin 连 127.0.0.1:5432


如果你告诉我:

  • pgAdmin 是 桌面版还是 Web 版
  • PostgreSQL 在 本地还是云服务器
  • 系统是 Ubuntu / CentOS / 其他

我可以直接给你一套精确命令

0