首页主机资讯centos上pgadmin如何远程访问

centos上pgadmin如何远程访问

时间2025-10-28 18:46:03发布访客分类主机资讯浏览306
导读:在CentOS上实现pgAdmin远程访问的完整步骤 一、前置准备:安装PostgreSQL数据库 pgAdmin是PostgreSQL的图形化管理工具,需先安装PostgreSQL作为后端数据库。 添加PostgreSQL官方Yum存储...

在CentOS上实现pgAdmin远程访问的完整步骤

一、前置准备:安装PostgreSQL数据库

pgAdmin是PostgreSQL的图形化管理工具,需先安装PostgreSQL作为后端数据库。

  1. 添加PostgreSQL官方Yum存储库(适用于CentOS 7/8/9):
    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{
    rhel}
        )-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  2. 安装PostgreSQL服务器(以PostgreSQL 15为例):
    sudo yum install -y postgresql15-server postgresql15-devel
    
  3. 初始化数据库并启动服务
    sudo /usr/pgsql-15/bin/postgresql-15-setup initdb  # 初始化数据库集群
    sudo systemctl enable --now postgresql-15         # 开机启动并立即启动服务
    
  4. 创建pgAdmin专用数据库用户(用于登录pgAdmin):
    切换至postgres用户,执行SQL命令创建用户(如pgadmin)并授权:
    sudo -u postgres psql
    CREATE USER pgadmin WITH PASSWORD 'YourStrongPassword123!' CREATEDB;
          # 创建用户并允许创建数据库
    GRANT ALL PRIVILEGES ON DATABASE postgres TO pgadmin;
                         # 授权访问默认数据库
    \q                                                                  # 退出psql
    

二、安装pgAdmin(Web版,推荐)

pgAdmin Web版更适合远程管理,以下是安装步骤:

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

三、配置PostgreSQL允许远程连接

要让pgAdmin远程访问PostgreSQL,需修改PostgreSQL配置文件:

  1. 修改postgresql.conf(允许监听所有IP):
    找到配置文件(路径通常为/var/lib/pgsql/15/data/postgresql.conf/usr/pgsql-15/data/postgresql.conf),修改以下行:
    listen_addresses = '*'  # 允许监听所有网络接口
    
  2. 修改pg_hba.conf(允许远程IP访问):
    找到配置文件(与postgresql.conf同目录),在文件末尾添加以下行(允许所有IP通过密码验证访问):
    host all all 0.0.0.0/0 md5  # 生产环境建议限制为客户端IP段(如192.168.1.0/24)
    
  3. 重启PostgreSQL服务
    sudo systemctl restart postgresql-15
    

四、配置防火墙允许访问

若系统启用了firewalld,需开放HTTP(pgAdmin Web界面)和PostgreSQL(数据库连接)端口:

sudo firewall-cmd --permanent --add-service=http       # 开放HTTP服务(默认80端口)
sudo firewall-cmd --permanent --add-port=5432/tcp      # 开放PostgreSQL端口
sudo firewall-cmd --reload                             # 重新加载防火墙规则

若使用iptables,可执行以下命令:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT     # 允许HTTP流量
sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT   # 允许PostgreSQL流量
sudo service iptables save                             # 保存规则(CentOS 7及以下)

五、配置pgAdmin Web界面允许远程访问

默认情况下,pgAdmin Web界面仅允许本地访问,需修改Apache配置:

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

六、访问pgAdmin Web界面并添加远程服务器

  1. 打开浏览器,输入服务器IP或域名(如http://your_server_iphttp://pgadmin.yourdomain.com)。
  2. 登录页面:输入之前创建的pgadmin用户和密码(如pgadmin/YourStrongPassword123!”),点击“登录”。
  3. 添加PostgreSQL服务器
    • 登录后,点击左侧导航栏的“+”号→“Servers”→“Create”→“Server”;
    • 在“General”标签页输入服务器名称(如“My PostgreSQL Server”);
    • 在“Connection”标签页填写:
      • Host:PostgreSQL服务器IP或主机名(若pgAdmin与PostgreSQL在同一服务器,填localhost);
      • Port:5432(默认端口);
      • Username:pgadmin(之前创建的数据库用户);
      • Password:YourStrongPassword123!”(用户密码);
    • 点击“Save”保存配置,即可连接并管理PostgreSQL数据库。

七、可选:Docker方式安装pgAdmin(快速部署)

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

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

注意事项

  • 安全性:生产环境中,建议关闭PostgreSQL的远程连接(修改postgresql.conf中的listen_addresseslocalhost),并通过SSH隧道访问;
  • SELinux配置:若系统启用SELinux,需允许Apache访问PostgreSQL:
    sudo setsebool -P httpd_can_network_connect_db 1
    
  • 版本兼容:确保pgAdmin版本与PostgreSQL版本兼容(如pgAdmin 4.26+支持PostgreSQL 15)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos上pgadmin如何远程访问
本文地址: https://pptw.com/jishu/737032.html
centos下pgadmin如何进行集群配置 centos上pgadmin版本怎么升级

游客 回复需填写必要信息