Docker + PostgreSQL 主从环境搭建
环境说明
- Docker
- Ubuntu/CentOS
- PostgreSQL v10.1
1. 运行PostgreSQL
1.1 主库
docker run --name pgsmaster -p 5500:5432 -e POSTGRES_PASSWORD=pgsmaster -v $(pwd)/pgsmaster:/var/lib/postgresql/data -d postgres
1.2 从库
docker run --name pgsslave -p 5501:5432 -e POSTGRES_PASSWORD=pgsslave -v $(pwd)/pgsslave:/var/lib/postgresql/data -d postgres
进入以上主、从库对应的实际挂载目录执行下面的操作
2. 配置master(主库)
2.1 编辑pg_hba.conf,在最下面添加如下:
// replication_username: 复制账号; slave_ip: 从库所在的服务器ip host replication <replication_username> <slave_ip>/32 md5
2.2 编辑postgresql.conf(亲测,非必须),更改如下:
synchronous_standby_names = '*'
2.3 进入容器,登录PostgreSQL,创建复制账号并验证:
# 1.进入容器 docker exec -it pgsmaster bash # 2.连接PostgreSQL psql -U postgres # 3.创建用户 set synchronous_commit =off; // replication_username: 对应上面设置的复制账号; replication_username_password: 认证密码 create role <replication_username> login replication encrypted password '<replication_username_password>'; # 4.验证用户 \du
3. 配置Slave(从库)
3.1 编辑postgresql.conf(亲测,非必须),更改如下:
hot_standby_feedback = on
3.2 新建recovery.conf,添加如下内容:
standby_mode = 'on' // replication_username: 复制账号(同主库); master_ip: 主库所在的服务器ip; master_port: 主库端口; replication_username_password: 认证密码 primary_conninfo = 'host=<master_ip> port=<master_port> user=<replication_username> password=<replication_username_password>'
4. 同步主从库数据及测试
4.1 停止PostgreSQL
docker stop pgsmaster docker stop pgsslave
4.2 同步主从库数据(必须)
- 方法1:rsync
// 1.1 已ssh认证,请将$(pwd)更改为实际的路径 rsync -cva --inplace --exclude=*pg_xlog* $(pwd)/pgsmaster/ <slave_ip>:$(pwd)/pgsslave/ // 1.2 无ssh认证,请将$(pwd)更改为实际的路径 rsync -cva --inplace --exclude=*pg_xlog* $(pwd)/pgsmaster/ ssh root@<slave_ip>:$(pwd)/pgsslave/
- 方法2:pg_basebackup(自行谷歌)
4.3 先后启动主库、从库服务
docker start pgsmaster docker start pgsslave
4.4 连接测试
// 进入主库容器 docker exec -it pgsmaster bash // 查看复制状态 psql -U postgres -x -c "select * from pg_stat_replication;"
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
当我们谈论企业级存储市场时,我们谈论(做)了什么
一、什么是APSARA Block Storage APSARA Block Storage是阿里云弹性计算块存储团队推出的一款企业级分布式块存储产品,为企业级市场头部客户量身打造,构建高性能、弹性、可靠的大规模横向扩展云存储服务平台。可对接多种类型的计算平台,包括阿里云ECS、ZStack、OpenStack、Kubernetes以及物理服务器等不同类型,帮助客户轻松应对云时代下海量存储资源的敏捷存取需求,适用于政府、金融、运营商和大型制造企业的线下数据中心云存储业务场景。APSARA Block Storage产品对标传统企业级存储市场主流玩家EMC、华为的分布式存储产品。APSARA Block Storage近期会正式对外发布,这标志着阿里云正式进军全球企业级存储市场,成为全球为数不多的在公有云和专有云市场都具备企业级专业
- 下一篇
湖北阿里云授权中心分享关于云服务器的相关问答
关于阿里云服务器大家有很多的疑问,最近武汉捷讯技术的小编根据大家的反馈,收集了一些大家都比较关注的问题。今天就给大家简单的回答一下。期待大家指正。 1、 问:阿里云共享虚拟主机,阿里云服务器多少钱? 答:阿里云服务器的相关配置不同,价格也不相同呢。比如企业级相较于入门级价格就偏贵,然后CPU和带宽不同,价格也有差异。下面是阿里云官网上价格简单的比较,大家可以参考一下: 企业级: 入门级: 2、 问:阿里云后台启动阿里云esc服务器无法启动,怎么办? 答:造成服务器无法启动的原因有很多,需要一一排除。一般来讲可以通过以下两种方式登录服务器再试试。 1)远程桌面连接(MicrosoftTerminalServicesClient,MSTSC):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。 2)管理终端VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。 使用远程桌面连接(MSTSC)登录实例 a、打开开始菜单>远程桌面连接,或在开始菜单>搜索中输入mstsc。也可以使用快捷键...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G