PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制

简介: 第 31 章 逻辑复制 目录 31.1. 发布 31.2. 订阅 31.2.1. 复制槽管理 31.3. 冲突 31.4. 限制 31.5. 架构 31.5.1. 初始快照 31.6. 监控 31.7. 安全 31.8. 配置设置 31.9. 快速设置 逻辑复制是根据复制标识(通常是主键)复制数据对象及其更改的一种方法。

第 31 章 逻辑复制

逻辑复制是根据复制标识(通常是主键)复制数据对象及其更改的一种方法。 我们使用术语逻辑与物理复制相比,它使用确切的块地址和逐字节复制。 PostgreSQL同时支持这两种机制,请参阅第 26 章。 逻辑复制允许对数据复制和安全性进行精细控制。

逻辑复制使用发布订阅模型, 其中一个或多个订阅者订阅发布者 节点上的一个或多个发布。 订阅者从他们订阅的发布中提取数据, 并可能随后重新发布数据以允许级联复制或更复杂的配置。

一个表的逻辑复制通常开始于发布者数据库上的数据快照并将其复制到订阅者。 一旦完成,发布者的变化就会实时发送给订阅者。订阅者按照与发布者相同的顺序应用数据, 以保证单个订阅内的发布的事务一致性。这种数据复制方法有时被称为事务复制。

典型的逻辑复制用例有:

  • 在单个数据库或数据库的子集中发送增量更改到订阅者。

  • 在更改到达订阅者时为单个更改触发触发器。

  • 将多个数据库合并成一个数据库(例如出于分析目的)。

  • 在PostgreSQL的不同主要版本之间复制。

  • 为不同的用户组提供对复制数据的访问。

  • 在多个数据库之间共享数据库的一个子集。

订阅者数据库的行为与任何其他PostgreSQ实例的行为相同, 可以通过定义其自己的发布来用作其他数据库的发布者。 当订阅者被应用程序视为只读时,将不会有单个订阅的冲突。 但是,如果应用程序或其他订阅者对同一组表执行其他写操作,则可能会产生冲突。

本文转自PostgreSQL中文社区,原文链接:第 31 章 逻辑复制

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

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章