PostgreSQL高可用之主备复制

第一章 《PostgreSQL高可用之主备复制》
第二章 《PostgreSQL高可用之主备切换》
第三章 《PostgreSQL高可用之故障转移》

1.前言

多个PostgreSQL可协同工作,如果主库发生宕机备库将迅速进行接管并对外提供服务以实现高可用。本文将从主备复制、主备切换、故障转移等角度进行实际测试演练。第一章主备复制是基础,通过主备复制可以得到一个或多个相同的实例。在主备复制的基础上通过第二章主备切换介绍了如何手工将主库与备库互换角色。在第三章中,采用了Keepalived进行实时监测,在主库宕机后,使用主备切换中提到的命令使备库升级为主库并对外提供服务,以达到PostgreSQL高可用的目标。

数据库采用14版本,使用docker容器方式搭建主备数据库示例。部分命令与数据库版本有关,如果用的版本不是PostgreSQL14请注意调整相关命令。配置方面主要参考官网"High Availability, Load Balancing, and Replication"章节(https://www.postgresql.org/docs/14/high-availability.html)。

将standby.signal空文件放入PostgreSQL的data目录后启动数据库服务可进入备库模式,备库可以通过读取wal归档或者流复制的方式与主库保持同步。在这里我们采用复制延迟性更低的流复制方式实现主备复制。完成主备库配置后,主库可正常读写,备库将处于只读模式。

2.环境准备

在两台虚拟机上使用docker-compose分别搭建主备库:

  • 主库所在服务器IP及端口:192.168.241.129:5432
  • 备库所在服务器IP及端口:192.168.241.136:5432
  • 数据库工作目录:/home/shfirm/postgresql

主备库docker-compose配置一致:

version: "3.7"

networks:
  shfirm:
    name: shfirm-network
    driver: bridge

services:
  postgres:
    image: postgres:14.1
    container_name: postgres14
    restart: always
    ports:
      - 5432:5432
    volumes:
      - /home/shfirm/postgresql/data:/var/lib/postgresql/data
    environment:
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值