postgre14-主从搭建-借助pg_basebackup从零教学

Posted Agent-C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgre14-主从搭建-借助pg_basebackup从零教学相关的知识,希望对你有一定的参考价值。

1.docker 搭建两个pg节点

docker run --name pgx1  --restart=always -p 10003:5432 -v /data/pg/pg3:/var   -d --privileged  -e POSTGRES_PASSWORD=postgres docker.io/postgres:14.2


docker run --name pgx2  --restart=always -p 10003:5432 -v /data/pg/pg3:/var   -d --privileged  -e POSTGRES_PASSWORD=postgres docker.io/postgres:14.2



参数解释
docker run 创建运行一个容器
 
--name 容器

-p 物理机端口映射容器端口 物理机在前
-v 目录映射 物理机tmp 容器tmp 目录 ---拷贝文件方便

-d detach 
-privilege=true root权限

最后一个是镜像名字postgre14

2. 寻找pgx1 pgx2的数据目录

pg1作为主节点
pg2作为从节点

开始修改配置

/var/lib/docker/volumes/9ed761532d7f7c21039bde917369e107c6a0fe31ac7da10d15427ac9828be114/_data

1.修改pg_hba.conf追加
host replication all  all scram-sha-256
host all all all scram-sha-256

重启
docker restart pgx1

2.删除pgx2的数据目录 上面截图的路径

docker stop pgx2

cd /var/lib/docker/volumes/fae26ddb05f68e6521ac91a27c51883b040e0a793d6a0e66acd1df693b9f9357/_data&&rm -rf *

3.使用pg_basebackup

pg_basebackup -D ~/dd -h 127.0.0.1 -p 10010 -U postgres -Fp -R -X s -P -v

4.拷贝数据目录以后重启从节点
/var/lib/docker/volumes/fae26ddb05f68e6521ac91a27c51883b040e0a793d6a0e66acd1df693b9f9357/_data && cp -r ~/dd/* ./

docker restart pgx2

看日志重启
docker logs --tail 20 pgx2

这里注意 因为在使用命令的过程中 pg-backbakcup已经帮我们整理好了数据 配置 所以从节点什么都不需要做
重启就行

文件目录如下图

docker data目录

pg_basebackup命令执行

拷贝数据然后重启pgx2

pgx1建表

主从节点数据同步验证完毕

以上是关于postgre14-主从搭建-借助pg_basebackup从零教学的主要内容,如果未能解决你的问题,请参考以下文章

Postgres 主从复制搭建步骤

PostgreSQL10.6主从复制搭建

RabbitMQ集群搭建

KubeSphere - 搭建 mysql 主从复制结构

CentOS完美搭建Redis3.0集群并附测试

redis进阶:哨兵模式工作原理及搭建