温馨提示×

PgAdmin在CentOS怎么连接

小樊
41
2026-07-20 19:46:20
栏目: 智能运维

CentOS 上让 pgAdmin 连接 PostgreSQL,通常分为 pgAdmin 在本机pgAdmin 在远程 两种情况。下面按最常见的 pgAdmin 4(Web 版) 来说明。


一、前提条件(CentOS 上)

1. 已安装 PostgreSQL

确认 PostgreSQL 已安装并运行:

systemctl status postgresql

如未安装:

sudo yum install -y postgresql-server postgresql-contrib
sudo postgresql-setup initdb
sudo systemctl enable --now postgresql

2. 已安装 pgAdmin 4(Web 模式)

CentOS 下推荐 pgAdmin 4 Web 模式

安装(示例:CentOS 7 / 8)

sudo yum install -y epel-release
sudo yum install -y pgadmin4

或按官方文档使用 RPM 仓库。


二、CentOS 上配置 PostgreSQL 允许连接

1. 修改 pg_hba.conf

路径一般在:

/var/lib/pgsql/data/pg_hba.conf

允许本地或指定 IP 连接(示例):

# IPv4 local connections
host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0               md5

⚠️ 生产环境不建议 0.0.0.0/0,可改为你的客户端 IP。


2. 修改 postgresql.conf

/var/lib/pgsql/data/postgresql.conf

确保监听所有地址:

listen_addresses = '*'

重启 PostgreSQL:

sudo systemctl restart postgresql

三、创建 pgAdmin 可登录的用户

1. 切换到 postgres 用户

sudo -i -u postgres

2. 进入数据库

psql

3. 创建用户(推荐)

CREATE USER pgadmin WITH PASSWORD 'StrongPassword' SUPERUSER;

或给已有用户授权:

ALTER USER youruser WITH SUPERUSER;

四、pgAdmin 4 连接 PostgreSQL

1. 打开 pgAdmin

如果是 Web 版:

http://服务器IP/pgadmin4

第一次访问需设置 pgAdmin 管理员账号


2. 添加服务器(重点)

在 pgAdmin 中:

  1. 右键 Servers → Register → Server
  2. General
    • Name:任意(如 CentOS-PG
  3. Connection
    • Host name/address:
      • 本地:127.0.0.1
      • 远程:CentOS 服务器 IP
    • Port:5432
    • Maintenance database:postgres
    • Username:pgadmin
    • Password:你设置的密码
  4. 勾选 ✅ Save password

点击 Save


五、常见连接失败原因

❌ 1. 连接被拒绝

  • PostgreSQL 未启动
  • listen_addresses 未设置
  • 防火墙未放行 5432
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

❌ 2. 密码认证失败

  • pg_hba.conf 使用 md5
  • 用户名或密码错误

❌ 3. SELinux 阻止

临时测试:

setenforce 0

永久解决需配置 SELinux 策略(生产环境不推荐直接关闭)。


六、快速检查清单 ✅

  • [ ] PostgreSQL 正常运行
  • [ ] listen_addresses = '*'
  • [ ] pg_hba.conf 允许连接
  • [ ] 5432 端口开放
  • [ ] 用户有登录权限
  • [ ] pgAdmin 使用正确 IP / 用户 / 密码

如果你愿意,可以告诉我:

  • pgAdmin 是在 Windows 还是 CentOS 本机?
  • PostgreSQL 和 pgAdmin 是否在同一台服务器?
  • CentOS 版本(7 / 8 / Stream)

我可以给你 精确到命令级别 的步骤。

0