mkdir -p /data/psql/{master,slave,repl}
chown 999:999 /data/psql/{master,slave,repl}
docker run --name "psql-master" -d -e "POSTGRES_PASSWORD=postgres" -v /data/psql/master:/var/lib/postgresql/data postgres:12
docker exec -ti psql-master psql -U postgres -c "CREATE ROLE slave_user WITH LOGIN REPLICATION CONNECTION LIMIT 5 PASSWORD 'slave_user';"
echo "host replication slave_user 0.0.0.0/0 md5" >> master/pg_hba.conf
vi master/postgresql.conf # archive_mode = on && archive_command = '/bin/date'
docker restart psql-master
docker run -d --name "psql-slave" -e "POSTGRES_PASSWORD=postgres" -v /data/psql/slave/:/var/lib/postgresql/data -v /data/psql/repl:/var/lib/postgresql/repl --link psql-master postgres:12
docker exec -ti psql-slave pg_basebackup -R -D /var/lib/postgresql/repl -Fp -Xs -v -P -h 172.18.0.101 -p 5432 -U repuser
docker rm -f psql-slave
rm -rf slave/
mv repl slave
cat slave/postgresql.auto.conf
docker run -d --name "psql-slave" -e "POSTGRES_PASSWORD=pos
使用 Docker 搭建 PostgreSQL 12 主从环境
最新推荐文章于 2024-10-20 10:05:47 发布
本文介绍如何使用Docker部署一个包含主从复制的PostgreSQL数据库集群。通过创建必要的目录、设置文件权限、配置PostgreSQL参数及使用Docker运行主节点与从节点等步骤,实现了PostgreSQL的高可用性和数据同步。

最低0.47元/天 解锁文章
747

被折叠的 条评论
为什么被折叠?



