开发者社区> 德哥> 正文

PostgreSQL 分区表的逻辑复制(逻辑订阅)

简介:
+关注继续查看

标签

PostgreSQL , 分区表 , 逻辑复制 , 逻辑订阅 , 分区


背景

PostgreSQL 10 引入了内置分区语法,同时引入了逻辑订阅的功能。

《PostgreSQL 10.0 preview 逻辑订阅 - 原理与最佳实践》

逻辑订阅简单来说就是

1、创建pub,

2、将需要订阅的表加入到pub中,

3、在接收端创建订阅sub,指定订阅哪个pub。

4、然后发布的就会解析pub中包含的表的已结束事务产生的WAL,将解析后的RECORD发送给接收端。

5、接收端收到逻辑回放信息,回放。实现增量复制的目的。

那么问题来了,分区表怎么支持的呢?

目前PG的分区表,实际数据是存在分区内的,发布时,不允许对主表发布,只能发布实际包含数据的分区。

https://www.postgresql.org/docs/devel/static/sql-createpublication.html

Only persistent base tables can be part of a publication.

Temporary tables, unlogged tables, foreign tables, materialized views, regular views, and partitioned tables cannot be part of a publication.

To replicate a partitioned table, add the individual partitions to the publication.

目标端,需要定义好同样的分区(猜测应该是这样的,可以试一试验证一下)。

使用EnterpriseDB xDB的复制工具,则可以直接支持分区表的复制。

https://www.enterprisedb.com/docs/en/6.2/repguide/EDB_Postgres_Replication_Server_Users_Guide.1.55.html#

参考

https://wiki.postgresql.org/wiki/Table_partitioning

https://www.postgresql.org/docs/devel/static/sql-createpublication.html

https://www.postgresql.org/docs/10/static/ddl-partitioning.html

https://www.enterprisedb.com/docs/en/6.2/repguide/EDB_Postgres_Replication_Server_Users_Guide.1.55.html#

《PostgreSQL 逻辑订阅 - DDL 订阅 实现方法》

《PostgreSQL 10 流式物理、逻辑主从 最佳实践》

《使用PostgreSQL逻辑订阅实现multi-master》

《PostgreSQL 10.0 preview 功能增强 - 逻辑订阅端worker数控制参数》

《PostgreSQL 逻辑订阅 - 给业务架构带来了什么希望?》

《PostgreSQL 10.0 preview 变化 - 逻辑复制pg_hba.conf变化,不再使用replication条目》

《PostgreSQL 10.0 preview 功能增强 - 备库支持逻辑订阅,订阅支持主备漂移了》

《PostgreSQL 10.0 preview 功能增强 - 逻辑复制支持并行COPY初始化数据》

《PostgreSQL 10.0 preview 逻辑订阅 - 原理与最佳实践》

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
9 PostgreSQL 点对点多主表级复制-触发器篇|学习笔记
快速学习9 PostgreSQL 点对点多主表级复制-触发器篇
136 0
14 PostgreSQL 表级复制-Londiste3哈希数据分区复制|学习笔记
快速学习14 PostgreSQL 表级复制-Londiste3哈希数据分区复制
63 0
代码实现对数据库新增查询操作
代码实现对数据库新增查询操作
52 0
PostgreSQL 逻辑同步
本文探讨 概念、用法、发布者、订阅者、复制槽管理、冲突、限制、架构、首次同步、监控、安全性、配置设置、实操(有主键表、无主键表、分区表的同步;列顺序不同、表结构不同等情况下的复制)
773 0
关于PG逻辑订阅判断数据是否同步的方法
关于PG逻辑订阅判断数据是否同步的方法
936 0
关于PostgreSQL逻辑订阅中的复制状态
关于PostgreSQL逻辑订阅中的复制状态
1807 0
PostgreSQL 逻辑复制、增量复制、逻辑订阅、增量订阅中间件 amazonriver - HelloBike开源
标签 PostgreSQL , 逻辑复制 , 流复制 , testdecoding , amazonriver , hellobike 背景 amazonriver 是一个将postgresql的实时数据同步到es或kafka的服务。由hellobike开源。 版本支持 Postgresql 9.4 or later Kafka 0.8 or later Elas
1108 0
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.2. 订阅
31.2. 订阅 31.2.1. 复制槽管理 订阅是逻辑复制的下游端。定义订阅的节点被称为 订阅者。 订阅定义了与另一个数据库的连接以及它想要订阅的一组发布(一个或多个)。 订阅者数据库的行为与任何其他PostgreSQL实例的行为相同, 并且可以通过定义自己的发布来用作其他数据库的发布者。
1394 0
+关注
德哥
公益是一辈子的事, I am digoal, just do it.
文章
问答
视频
来源圈子
更多
让用户数据永远在线,让数据无缝的自由流动
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
PostgreSQL复制原理及高可用集群
立即下载
PolarDB PG核心特性介绍
立即下载
Phoenix 全局索引原理与实践
立即下载