
PostgreSQL的逻辑复制对比物理复制的好处总结有以下几点
1 灵活: 逻辑复制对比物理复制来说,可以单表进行数据的复制,物理复制则是不可以的,并且大部分时间对于ETL的功能需求来说,物理复制太重了,需要的磁盘,网络,等资源都相对于逻辑复制消耗的要大的多.
2 方便:逻辑复制相对于物理复制,设置会更简单,可以随时终止或者创建,数据进行同步等等.
3 定制化:逻辑复制可以设置复制的操作,例如只需要进行insert 的复制,或者 update, delete 等操作的复制,可以做到, 数据不和primary端一致,而达到某些目的.
4 数据迁移,PG如果版本不同进行升级的情况下,PG的logical replication 是可以作为一种数据迁移的方案,在不同的版本中进行数据的同步使用的.

逻辑复制还是使用物理复制架构实现,从上图可见, 在复制槽的基础上添加了pgoutput plugin 将原有的wal 日志转换后发送, subscription 在接受这些信息,将信息填充到目的地. 为了避免数据被重复的在subscription 上重复操作,通过客户端记录接受的LSN号码,避免重复接受同样的数据,并操作.
另外需要提示的是,很多不能进行vacuum的案例中,部分都有复制槽的出现,可能这个复制槽一主多用,同时有数据接收端,其中如果有数据接收端无法接受数据,则与相关的需要保留的tuples 就不会被清理,造成 vacuum 无法回收.
下面我们有一个复制槽<

本文详细探讨了PostgreSQL逻辑复制的灵活性、便利性及定制化优势,对比物理复制,阐述了其在数据迁移、资源消耗及操作控制上的优点。同时,深入分析了逻辑复制的工作原理,包括复制槽、pgoutput插件的作用,以及如何监控复制状态,防止数据冲突导致的复制中断。
最低0.47元/天 解锁文章
748

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



