温馨提示×

linux pgadmin怎样远程访问

小樊
39
2026-09-09 11:47:51
栏目: 智能运维

在 Linux 上通过 pgAdmin 远程访问 PostgreSQL,一般分为两种情况:


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

1️⃣ 修改 PostgreSQL 配置(在 Linux 服务器端)

(1)修改 postgresql.conf

找到配置文件(常见路径):

sudo vim /etc/postgresql/15/main/postgresql.conf

修改或确认:

listen_addresses = '*'

如果是源码安装,路径可能是 /usr/local/pgsql/data/postgresql.conf

(2)修改 pg_hba.conf

sudo vim /etc/postgresql/15/main/pg_hba.conf

添加允许远程连接(示例允许所有 IP):

host    all    all    0.0.0.0/0    md5

或更安全一点:

host    all    all    192.168.1.0/24    md5

(3)重启 PostgreSQL

sudo systemctl restart postgresql

2️⃣ 开放防火墙端口(默认 5432)

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

如果是云服务器,还要在 安全组 放行 5432 端口。


3️⃣ pgAdmin 中添加服务器

  1. 打开 pgAdmin
  2. 右键 Servers → Register → Server
  3. 填写:
    • Name:自定义
    • Host:Linux 服务器 IP
    • Port:5432
    • Username / Password:数据库账号

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

1️⃣ 安装 pgAdmin 4(以 Ubuntu 为例)

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

2️⃣ 远程访问 pgAdmin

  • 默认访问地址:
http://服务器IP:80
  • 登录后在 Servers 中添加:
    • Host: localhost127.0.0.1
    • Port: 5432

3️⃣ 允许外网访问(如有需要)

  • 确保 80 端口开放
  • 或使用 Nginx 反向代理 + HTTPS

三、常见问题

❌ 连接失败可能原因

  • PostgreSQL 没监听外网
  • pg_hba.conf 没配置
  • 防火墙 / 安全组未放行
  • 使用了 localhost 而不是服务器 IP

✅ 测试命令

psql -h 服务器IP -U 用户名 -d 数据库名

如果你能说明:

  • pgAdmin 是 桌面版还是 Web 版
  • PostgreSQL 在 本机还是远程服务器
  • 使用的 Linux 发行版

我可以给你更精确的配置步骤。

0