centos

centos上pgadmin如何实现远程访问

小樊
41
2025-11-03 19:16:16
栏目: 智能运维

一、配置PostgreSQL允许远程连接
要让pgAdmin远程访问PostgreSQL数据库,首先需要确保PostgreSQL服务器允许远程连接。需修改以下两个核心配置文件:

  1. 修改postgresql.conf:找到listen_addresses参数,将其值从localhost改为*(允许监听所有网络接口),例如:
    sudo vi /var/lib/pgsql/data/postgresql.conf  # CentOS默认路径
    # 修改为
    listen_addresses = '*'
    
  2. 修改pg_hba.conf:添加一条规则允许远程IP通过密码认证连接(0.0.0.0/0表示允许所有IP,生产环境建议替换为具体客户端IP段),例如:
    sudo vi /var/lib/pgsql/data/pg_hba.conf
    # 在文件末尾添加
    host all all 0.0.0.0/0 md5
    
  3. 重启PostgreSQL服务:使配置生效:
    sudo systemctl restart postgresql  # 或 postgresql-15(根据版本调整)
    

二、配置防火墙允许pgAdmin端口
pgAdmin默认通过5432端口与PostgreSQL通信,需确保防火墙开放该端口:

三、安装并配置pgAdmin(Web版,推荐)
pgAdmin的Web版更适合远程管理,以下是安装步骤:

  1. 安装pgAdmin:使用YUM安装pgAdmin Web组件:
    sudo yum install -y pgadmin4-web  # CentOS 7/8/9均适用
    
  2. 初始化配置:运行初始化脚本,设置管理员邮箱(用于找回密码)和初始密码:
    sudo /usr/pgadmin4/bin/pgadmin4-web-setup.sh
    # 按提示输入管理员邮箱(如admin@example.com)和密码(如PgAdmin@123)
    
  3. 启动pgAdmin服务:初始化完成后,pgAdmin会自动启动,如需手动控制:
    sudo systemctl start pgadmin4  # 启动服务
    sudo systemctl enable pgadmin4 # 开机自启动
    

四、配置Web服务器(Apache)允许远程访问
pgAdmin Web版依赖Apache提供HTTP服务,需调整配置以允许外部访问:

  1. 复制默认配置文件
    sudo cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf
    
  2. 修改配置文件:用文本编辑器打开pgadmin4.conf,确认以下设置:
    • Listen localhost:80改为Listen 80(允许所有IP访问);
    • ServerName localhost改为服务器公网IP或域名(如ServerName pgadmin.example.com)。
  3. 重启Apache服务
    sudo systemctl restart httpd
    

五、在pgAdmin中添加远程PostgreSQL服务器

  1. 访问pgAdmin Web界面:在浏览器中输入服务器IP或域名(如http://your_server_ip),使用初始化时设置的管理员邮箱和密码登录。
  2. 添加服务器连接
    • 点击左侧导航栏的“+”号→“Servers”→“Create”→“Server”;
    • 在“General”标签页输入服务器名称(如“My PostgreSQL Server”);
    • 在“Connection”标签页填写:
      • Host:PostgreSQL服务器IP或域名;
      • Port:5432(默认);
      • Username/Password:PostgreSQL数据库用户名及密码(如postgres/初始化密码);
      • Database:可选,留空则连接所有数据库;
    • 点击“Save”保存配置,即可测试连接。

六、可选:Docker方式快速部署pgAdmin
若系统已安装Docker,可通过容器快速部署pgAdmin(无需配置Apache):

  1. 拉取pgAdmin镜像
    sudo yum install -y docker
    sudo systemctl start docker
    sudo docker pull dpage/pgadmin4
    
  2. 启动pgAdmin容器
    sudo docker run -p 5050:80 \
      -e "PGADMIN_DEFAULT_EMAIL=admin@example.com" \
      -e "PGADMIN_DEFAULT_PASSWORD=admin123" \
      -d dpage/pgadmin4
    
  3. 访问容器:浏览器输入http://your_server_ip:5050,使用admin@example.com/admin123登录。

注意事项

0
看了该问题的人还看了