Postgresql 流复制 您所在的位置:网站首页 pg数据库启动指定日志 Postgresql 流复制

Postgresql 流复制

#Postgresql 流复制| 来源: 网络整理| 查看: 265

类型:一主多从类型的复制

主(master)和从(slave),在PostgreSQL中通常分别被称为主(primary)和备(standby)

当客户端要向数据库写入时,它必须将请求发送给领导者,领导者会将新数据写入其本地存储。其他副本被称为追随者(followers)

实现:基于日志传输实现的

这是一种通用的复制技术:主库不断发送WAL数据,而每个备库接受WAL数据,并立即重放日志。

流复制的启动

三种进程【协同工作】

主库上的**walsender(WAL发送器)**进程:将WAL数据发送到备库备库上的walreceiver(WAL接收器):接收主库发来的数据备库上的startup进程:重放主库发来的数据

walsender和walreceiver 之间使用单条TCP连接进行通信

连接的状态:

启动(start-up) —— 从启动walsender到握手结束。如图(5)-(6)。 追赶(catch-up) ——处于追赶期间,如图(7)。 流复制(streaming)—— 正在运行流复制。如图(8)。

在这里插入图片描述

如何实施流复制 任务: 日志传输: 主库会在写入日志记录时,将WAL数据发送到连接的备库。数据库同步:主库与多个备库通信,从而同步整个数据库集簇。 发生故障的行为: 使用多个备库来提高系统可用性从同步模式切换到异步模式 管理多个备库 同步优先级与同步状态 同步优先级:较小的值表示较高的优先级同步状态 同步(Sync)状态的备库,是所有正在工作中的备库中,具有最高优先级的同步备库的状态(异步模式除外)。潜在(Potential)状态的备库,是所有工作备库(异步备库除外)中,优先级等于或低于2的闲置同步备库。如果同步备库失效,潜在备库中有着最高优先级的那个将替换为同步备库。异步(Async)状态的备库是固定的。主库以与潜在备库相同的方式处理异步备库,只是它们的sync_state永远不会是sync或potential。 主库仅等待来自同步备库的ACK响应。换句话说,主库仅确保同步备库写入并刷新WAL数据。因此在流复制中,只有同步备库的状态是与主库始终一致且同步的。 在这里插入图片描述


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有