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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 31.2. 订阅 31.2.1. 复制槽管理 订阅是逻辑复制的下游端。定义订阅的节点被称为 订阅者。 订阅定义了与另一个数据库的连接以及它想要订阅的一组发布(一个或多个)。 订阅者数据库的行为与任何其他PostgreSQL实例的行为相同, 并且可以通过定义自己的发布来用作其他数据库的发布者。

31.2. 订阅

订阅是逻辑复制的下游端。定义订阅的节点被称为 订阅者。 订阅定义了与另一个数据库的连接以及它想要订阅的一组发布(一个或多个)。

订阅者数据库的行为与任何其他PostgreSQL实例的行为相同, 并且可以通过定义自己的发布来用作其他数据库的发布者。

如果需要,一个订阅者节点可以有多个订阅。在单个发布者-订阅者对之间可以定义多个订阅, 这种情况下,必须小心确保订阅的发布对象不重复。

每个订阅都将通过一个复制槽接收更改(请参阅第 26.2.6 节)。 对于预先存在的表数据的初始数据同步可能需要额外的临时复制槽。

逻辑复制订阅可以作为同步复制的备用数据库(请参见第 26.2.8 节)。 备用名称默认是订阅名称。可以在订阅的连接信息中指定一个替代名称为 application_name 

如果当前用户是超级用户,则通过pg_dump转储订阅。 否则会发出警告,并且会跳过订阅,因为非超级用户无法读取 pg_subscription目录中的所有订阅信息。

订阅是使用CREATE SUBSCRIPTION添加的, 并且可以随时使用ALTER SUBSCRIPTION命令停止/恢复, 使用DROP SUBSCRIPTION删除。

当订阅被删除并重新创建时,同步信息将丢失。这意味着之后的数据必须重新同步。

架构定义不会被复制,并且已发布的表格必须存在于订阅者上。 只有常规表可以是复制的目标。例如,您不能复制到视图。

发布者和订阅者之间的表使用完全限定的表名匹配。不支持复制到订阅者上不同名称的表。

一个表的列也是按名字匹配的。目标表中不同的列顺序是允许的, 但是列类型必须匹配。目标表可以有发布的表未提供的附加列。 那些将被填充他们的默认值。

31.2.1. 复制槽管理

如前所述,每个(活动)订阅都从远程(发布)端的复制槽接收更改。 通常,使用CREATE SUBSCRIPTION 创建订阅时会自动创建远程复制槽,使用DROP SUBSCRIPTION 删除订阅时会自动删除该槽。但是,在某些情况下, 单独操作订阅和底层复制槽是有用的或必要的。以下是一些情况:

  • 创建订阅时,复制槽已经存在。在这种情况下, 订阅可以使用create_slot = false选项与现有槽关联来创建。

  • 创建订阅时,远程主机无法访问或处于不清晰的状态。在这种情况下, 可以使用connect = false选项创建订阅。 这样将不连接远程主机。这是pg_dump使用的内容。 远程复制槽必须在订阅激活之前手动创建。

  • 在删除订阅时,应该保留复制槽。在订阅者的数据库被移动到不同的主机, 并在那里激活时,这可能是有用的。在这种情况下,尝试删除订阅之前, 使用ALTER SUBSCRIPTION解除槽与订阅的关联。

  • 在删除订阅时,远程主机不可访问。在这种情况下,尝试删除订阅之前, 使用ALTER SUBSCRIPTION解除槽与订阅的关联。 如果远程数据库实例不再存在,则不需要进一步的操作。但是, 如果远程数据库实例只是不可访问,则应手动删除复制槽; 否则会继续保留WAL,最终可能导致磁盘空间不足。这种情况应该仔细调查。

本文转自PostgreSQL中文社区,原文链接: 31.2. 订阅
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
21天前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
|
1月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的逻辑存储结构
PostgreSQL的逻辑存储结构包括数据库集群、数据库、表空间、段、区、块等。每个对象都有唯一的对象标识符OID,并存储于相应的系统目录表中。集群由单个服务器实例管理,包含多个数据库、用户及对象。表空间是数据库的逻辑存储单元,用于组织逻辑相关的数据结构。段是分配给表、索引等逻辑结构的空间集合,区是段的基本组成单位,而块则是最小的逻辑存储单位。
【赵渝强老师】PostgreSQL的逻辑存储结构
|
7月前
|
前端开发 数据处理 API
后端开发:构建稳健与高效的服务器逻辑
后端开发:构建稳健与高效的服务器逻辑
|
4月前
|
SQL 关系型数据库 数据库
[postgresql]逻辑备份与还原
[postgresql]逻辑备份与还原
|
7月前
|
存储 SQL 关系型数据库
Mysql学习手册(第一部分)
【5月更文挑战第17天】Mysql学习手册(第一部分)
76 0
|
7月前
|
存储 Oracle Unix
TSM服务器日常维护简明手册--TSM启动和停止
TSM服务器日常维护简明手册--TSM启动和停止
194 0
|
7月前
|
存储 SQL 关系型数据库
MySQL学习手册(第一部分)
mysql日常使用记录
150 0
|
7月前
|
Linux 网络安全 开发工具
服务器操作手册(二)
【2月更文挑战第8天】
137 1
|
7月前
|
弹性计算 Ubuntu Linux
2024年Palworld/幻兽帕鲁服务器自建手册:详细步骤解析与设置指南
爆款游戏《幻兽帕鲁》是很多玩家在与好友开黑时的首选,因为《幻兽帕鲁》有着十分丰富的游戏内容,玩家在联机游玩《幻兽帕鲁》时能够获得非常多的快乐。 但在《幻兽帕鲁》进行联机时,是需要自行搭建服务器的,下面就带来,最新《幻兽帕鲁》服务器设置全步骤大全,方便玩家更好的进行联机游玩。 以下就是幻兽帕鲁服务器自建:幻兽帕鲁服务器设置全步骤大全的相关内容。
115 3
|
7月前
|
存储 运维 安全
服务器操作手册(一)
【2月更文挑战第7天】
252 0