搭建Debian PostgreSQL集群可以通过多种方法实现,以下是使用Pigsty和Docker的两种常见方法:
使用Pigsty搭建PostgreSQL高可用集群
-
安装环境准备:
- 确保所有主机可以免密登录到其他主机。
- 在任意一台待安装主机上执行安装脚本:
curl -L https://get.pigsty.cc/install | bash cd ~/pigsty ./bootstrap ./configure
-
修改配置文件:
- 安装配置完成后,修改
pigsty.yml
文件,配置etcd集群信息、pg集群配置信息、pg版本等。
- 安装配置完成后,修改
-
部署pg集群:
- 执行安装命令:
./install.yml
- 执行安装命令:
-
访问数据库:
- 通过haproxy访问主库:
vip:5432
。 - 通过pgbouncer访问主库:
vip:6432
。 - 通过VIP访问任意从节点:
vip:5433
。
- 通过haproxy访问主库:
使用Docker搭建PostgreSQL主备集群
-
创建虚拟网络:
docker network create pg-cluster-network
-
搭建主数据库:
- 创建主库容器:
docker run -d \ --restart=unless-stopped \ --name=pg-cluster-pg1 \ --network-alias=pg1 \ --network pg-cluster-network \ -e POSTGRES_DB=test \ -e POSTGRES_USER=test \ -e POSTGRES_PASSWORD=123456 \ postgres:13-alpine
- 创建主库容器:
-
搭建备份数据库:
- 创建数据卷:
docker volume create pg-cluster-pg2-data
- 从主库创建基础备份:
docker run -it --rm \ --network pg-cluster-network \ -v pg-cluster-pg2-data:/var/lib/postgresql/data \ postgres:13-alpine \ pg_basebackup -R -h pg1 -U test -X stream -P -S standby1_slot -D /var/lib/postgresql/data
- 创建数据卷:
-
验证同步状态:
- 在主库中查询插入状态,验证备库是否已连接。
以上是搭建Debian PostgreSQL集群的两种常见方法,具体选择哪种方法可以根据实际需求和场景来决定。