暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
pg_replication.pdf
352
7页
1次
2022-05-09
10墨值下载
insert/update/delete
postgresql
wal日志
logical_decoding
replication_slot
wal2json
jsonoutput
pg_replication
基本概念
逻辑复制
逻辑复制是将数据重新执行一次insertupdatedelete。逻辑复制则允许在数据层面复制,并在
安全性上提供更细粒度的控制。
流复制(物理复制)
实现方式是将wal日志中记录的内容按照确切的块地址逐字节的拷贝到备库,因此主备之间数据分
布是一致的,这意味着在主备机器上,同一条记录的ctid是相同的。
逻辑解码
逻辑解码是提取数据库表的所有永久修改到一个连贯的、容易理解的格式 (不需要详细的数据库内
部状态知识就可以解读)的过程。
复制槽
在逻辑复制的概念中,一个槽代表一连串的修改,这些修改可以以它们在原始服务器上制作的顺序
在客户端上重放。
输出插件
输出插件将数据从预写式日志的内部表示转换到复制槽想要的消费者的格式。
导出快照
当用流复制接口创建了一个新的复制槽时,pg会导出一个快照, 该快照将准确的显示数据库的状
态,之后所有的修改都将包含在修改流中。这可以用来创建一个新的复制品, 可以通过使用 SET
TRANSACTION SNAPSHOT 读取槽创建瞬间数据库的状态。这个事务稍后可以用来转储在那个时间
点的数据库状态, 之后可以使用槽的内容更新该数据库而不丢失任何修改。
逻辑复制
逻辑解码
逻辑解码基本原理是从 WAL日志解码,跟踪所有 DML (INSERT, UPDATE, DELETE)更改。之后转换成各
种可用的格式,比如 Json
其流程大致如下:
对于逻辑解码插件,主要有以下几类。按照格式来分主要有
JSON format plugins
Protobuf Format Plugins
Avro Format Plugins
SQL Format Plugins
Miscellaneous Plugins
参数配置
逻辑解码参数配置如下:
wal_level 设置为logical允许WAL记录逻辑解码所需的信息。
max_replication_slots 指定了发送端可以支持的最大复制槽数量,默认为10
max_wal_sender 指定发送方用于流复制的并发连接的最大数量,默认值也是10
pg_recvlogica
pg_recvlogical PostgreSQL自带的工具,它管理插槽并使用插槽中的流数据。
必须至少要指定下列选项之一来选择一个动作:
--create-slot
--dbname 指定的数据库用 --slot 指定的名称创建一个新的逻辑复制槽,使用 --plugin 指定的
输出插件。
--drop-slot
删除名称由 --slot 指定的复制槽,然后退出。
--start
--slot 指定的逻辑复制槽开始进行流式传送更改,一直继续 到被一个信号终止。如果服务器端
关机或者断开连接导致更改流结束,会进入一个 循环一直重试,通过指定 --no-loop 可以防止这种
情况下进入 循环重试。流格式由槽创建时指定的输出插件决定。连接必须是连接到用于创建该槽的
同一个数据库上。
--create-slot --start 可以被一起指定。 --drop-slot 不能和另一个动作组合在一起。
物理流复制
物理流复制内容主要引用自博客
物理流复制是一种数据库主备同步技术,该特性同步的数据是数据库中物理页面变化数据(WAL),该
模式备库的底层数据页面状态和主库完全相同,这样的实现方案让数据库主备以及同步状态都非常稳
定。
流复制中的角色
主库 backend 进程
它负责执行用户的 SQL,在修改数据前会先记录 WALWrite-Ahead Logging)日志。这些日志中
事物提交日志(CommitTransaction)由 backend 进程负责写到磁盘。
主库 WALsender 进程
负责把 WAL 日志发送给备库的 WALreceiver 进程。
备库 WALreceiver 进程
负责接收 WALsender 发送的 WAL 日志,并持久化到存储。
备库 startup 进程
负责恢复 WALsender 写到磁盘上的 WAL 日志,把数据 apply 到数据页面上。
of 7
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜