centos下pgadmin如何进行集群配置
CentOS下pgAdmin配置PostgreSQL集群的详细步骤
一、前置准备:安装PostgreSQL数据库集群
pgAdmin是PostgreSQL的图形化管理工具,需先搭建PostgreSQL数据库集群(主从复制),再通过pgAdmin管理。以下是CentOS下的安装与配置步骤:
1. 安装PostgreSQL官方Yum存储库
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服务器(以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. 配置PostgreSQL监听所有IP(允许远程连接)
编辑postgresql.conf文件:
sudo vi /var/lib/pgsql/15/data/postgresql.conf
找到listen_addresses行,修改为:
listen_addresses = '*'
5. 配置客户端认证(允许pgAdmin连接)
编辑pg_hba.conf文件:
sudo vi /var/lib/pgsql/15/data/pg_hba.conf
在文件末尾添加(允许所有IP通过密码连接):
host all all 0.0.0.0/0 md5
6. 重启PostgreSQL服务使配置生效
sudo systemctl restart postgresql-15
7. 创建pgAdmin专用数据库用户
切换至postgres用户,执行SQL命令:
sudo -u postgres psql
在psql命令行中输入:
CREATE USER pgadmin WITH PASSWORD 'YourStrongPassword123!' CREATEDB;
-- 创建用户并允许创建数据库
GRANT ALL PRIVILEGES ON DATABASE postgres TO pgadmin;
-- 授权访问默认数据库
\q -- 退出
8. 配置PostgreSQL主从复制(可选,用于高可用集群)
若需搭建高可用集群,需配置主从复制(参考PostgreSQL官方文档或pgAdmin官方指南)。
二、安装与配置pgAdmin(Web版)
pgAdmin Web版更适合远程管理集群,以下是CentOS下的安装步骤:
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 # 开机自启动
4. 配置Web服务器(Apache)
pgAdmin Web版依赖Apache提供HTTP服务,需调整配置以允许外部访问:
sudo cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf
编辑配置文件(可选):
sudo vi /etc/httpd/conf.d/pgadmin4.conf
确认以下设置:
- 监听地址:若需远程访问,将
Listen localhost:80改为Listen 80; - 服务器名称:将
ServerName localhost改为服务器公网IP或域名(如ServerName pgadmin.yourdomain.com)。
保存并退出,重启Apache服务:
sudo systemctl restart httpd
5. 配置防火墙
若系统启用了firewalld,需开放HTTP(80端口)和PostgreSQL(5432端口):
sudo firewall-cmd --permanent --add-service=http # 开放HTTP服务
sudo firewall-cmd --permanent --add-port=5432/tcp # 开放PostgreSQL端口
sudo firewall-cmd --reload # 重新加载防火墙规则
6. 访问pgAdmin Web界面
打开浏览器,输入服务器IP或域名(如http://your_server_ip或http://pgadmin.yourdomain.com),使用之前创建的pgadmin用户和密码登录。
三、通过pgAdmin添加PostgreSQL集群
登录pgAdmin后,按以下步骤添加PostgreSQL集群:
1. 点击左侧导航栏的“+”号→“Servers”→“Create”→“Server”
进入服务器配置界面。
2. 填写“General”标签页信息
- Name:输入服务器名称(如
My PostgreSQL Cluster),用于标识集群。
3. 填写“Connection”标签页信息
- Host:输入PostgreSQL主节点的IP地址或主机名(如
192.168.1.100); - Port:输入PostgreSQL端口(默认
5432); - Username:输入之前创建的
pgadmin用户; - Password:输入
pgadmin用户的密码(如YourStrongPassword123!)。
4. 保存配置
点击“Save”按钮,pgAdmin将尝试连接PostgreSQL集群。若连接成功,左侧导航栏将显示集群节点,可进一步管理数据库、表等对象。
四、可选:配置pgAdmin高可用(Web访问)
若需多用户同时管理集群,可通过Docker部署多个pgAdmin实例,搭配Nginx实现负载均衡:
1. 安装Docker
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
2. 启动多个pgAdmin容器
docker run -d --name pgadmin1 -p 8080:80 \
-e "PGADMIN_DEFAULT_EMAIL=admin1@example.com" \
-e "PGADMIN_DEFAULT_PASSWORD=123456" \
dpage/pgadmin4
docker run -d --name pgadmin2 -p 8081:80 \
-e "PGADMIN_DEFAULT_EMAIL=admin2@example.com" \
-e "PGADMIN_DEFAULT_PASSWORD=123456" \
dpage/pgadmin4
3. 配置Nginx反向代理(负载均衡)
编辑Nginx配置文件(如/etc/nginx/conf.d/pgadmin.conf):
upstream pgadmin_cluster {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name pgadmin.yourdomain.com;
location / {
proxy_pass http://pgadmin_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
重启Nginx服务:
sudo systemctl restart nginx
4. 注意事项
- pgAdmin本身无状态,需通过共享存储(如NFS)或数据库(如PostgreSQL)存储用户数据(
pgadmin4.db文件),避免单点故障; - 生产环境中,建议关闭PostgreSQL的远程连接(修改
postgresql.conf中的listen_addresses为localhost),并通过SSH隧道访问; - 定期更新pgAdmin和PostgreSQL到最新版本,修复已知安全漏洞。
通过以上步骤,即可在CentOS下通过pgAdmin配置和管理PostgreSQL集群。如需更高级的高可用方案(如Patroni+etcd),可参考PostgreSQL官方文档或pgAdmin社区指南。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos下pgadmin如何进行集群配置
本文地址: https://pptw.com/jishu/737031.html
