首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PostgreSQL逻辑复制:添加订阅服务器时的初始同步

PostgreSQL逻辑复制是一种高级数据复制技术,它允许将数据从一个源数据库复制到一个或多个目标数据库。在逻辑复制中,数据被以逻辑形式复制,而不是以二进制形式。这种复制方法提供了更高的灵活性和可扩展性,使得可以在不同版本的PostgreSQL之间进行复制。

在添加订阅服务器时的初始同步过程中,首先需要确保源数据库和目标数据库之间的网络连接是可用的。然后,需要执行以下步骤:

  1. 创建订阅:在目标数据库中创建一个订阅,用于接收来自源数据库的复制数据。可以使用PostgreSQL的CREATE SUBSCRIPTION语句来创建订阅。
  2. 配置订阅参数:在创建订阅后,需要配置一些参数,以指定源数据库的连接信息和复制的表。这些参数包括源数据库的连接字符串、复制的表名或模式等。可以使用ALTER SUBSCRIPTION语句来配置订阅参数。
  3. 启动初始同步:在配置完订阅参数后,可以启动初始同步过程。初始同步是将源数据库中的数据复制到目标数据库的过程。可以使用ALTER SUBSCRIPTION语句的SET (SYNCHRONOUS_COMMIT = 'on')选项来启动初始同步。
  4. 监控同步进度:在初始同步过程中,可以使用pg_stat_replication视图来监控同步进度。该视图提供了有关复制连接的信息,包括复制的状态、复制的位置等。
  5. 完成初始同步:当初始同步完成后,可以使用ALTER SUBSCRIPTION语句的SET (SYNCHRONOUS_COMMIT = 'off')选项来关闭初始同步。此时,订阅服务器将开始接收来自源数据库的增量更新。

推荐的腾讯云相关产品:腾讯云数据库PostgreSQL。腾讯云数据库PostgreSQL是基于开源PostgreSQL的关系型数据库服务,提供了高可用、高性能、弹性扩展的特性。您可以通过腾讯云数据库PostgreSQL来实现逻辑复制和其他数据复制需求。

产品介绍链接地址:腾讯云数据库PostgreSQL

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

国际新闻:PostgreSQL 16 发布!

逻辑复制 逻辑复制允许用户将数据流式传输到其它PostgreSQL实例或订阅者,这些实例或订阅者可以解释 PostgreSQL 逻辑复制协议。...订阅者现在可以使用并行应用大型事务 工人。对于没有主键表,订阅者可以使用 B 树 索引而不是顺序扫描来查找行。在某些条件下, 用户还可以使用二进制格式加快初始同步。...最后,此版本开始添加对双向支持 逻辑复制,引入了在两个之间复制数据功能 来自不同发布者表。...订阅者现在可以使用并行工作者应用大型事务。对于没有主键表,订阅者可以使用B-tree索引而不是顺序扫描来查找行。在某些条件下,用户还可以使用二进制格式加速初始同步。...最后,这个版本开始添加对双向逻辑复制支持,引入了在来自不同发布者两个表之间复制数据功能。

1K70

如何在Ubuntu 18.04上使用PostgreSQL 10设置逻辑复制

保持数据库副本同步过程称为复制复制可以为大量同时读取操作提供高可用性水平扩展,同时减少读取延迟。它还允许在地理上分布数据库服务器之间进行对等复制。...在本教程中,您将在两台Ubuntu 18.04服务器上配置PostgreSQL 10逻辑复制,其中一台服务器充当主服务器,另一台服务器充当副本服务器。...在本教程结束,您将能够使用逻辑复制将数据从主服务器复制到副本。...在我们例子中,没有数据要同步,因为widgets表是空,但是在向现有数据库添加订阅这是一个有用功能。 有了订阅,让我们通过向widgets表中添加一些演示数据来测试设置。...关于副本服务器写入查询需要注意一点是,它们不会被复制回主服务器。当服务器之间数据出现分歧PostgreSQL目前对解决冲突支持有限。

2.9K50

PostgreSQL逻辑复制之pglogical篇

一、pglogical介绍 pglogical 是 PostgreSQL 拓展模块, 为 PostgreSQL 数据库提供了逻辑复制发布和订阅功能。...pglogical 重用了 BDR 项目中一部分相关技术。pglogical 是一个完全作为PostgreSQL 扩展实现逻辑复制系统。完全集成,它不需要触发器或外部程序。...3、将表添加对应复制集 对新建表;并没有为其分配对应复制集;需要手动添加。...relation - 要添加到集合中名称或OID synchronize_data - 如果为true,则表数据将在订阅给定复制所有订户上同步,默认为false columns - 要复制列表...通常,当应复制所有列,这将设置为NULL,这是默认值 row_filter - 行过滤表达式,默认为NULL(无过滤),有关详细信息,请参阅(行过滤)。警告:在使用有效行筛选器同步数据要小心。

1.5K10

PostgreSQL集群篇——1、PG环境安装准备

,如下图所示: 特性 共享磁盘故障转移 文件系统复制 预写式日志传送 逻辑复制 基于触发器主-备复制 基于语句复制中间件 异步多主控机复制 同步多主控机复制 最通用实现 NAS DRBD 内建流复制...同步复制 开始支持同步复制,只支持一个同步复制节点,同步复制能保证数据0丢失 PostgreSQL9.2 级联流复制 开始支持联流复制,备库下面还可以再连接备库,形成级联架构 PostgreSQL9.2...PostgreSQL9.4 逻辑复制 开始支持逻辑复制逻辑复制可以应对部分表复制功能。 PostgreSQL9.6 同步复制改版 同步复制允许多个备用服务器以提高可靠性。...PostgreSQL10 使用发布/订阅进行逻辑复制 PostgreSQL11-13 持续优化 本次我们将采用PostgreSQL13.1版本进行搭建同步复制环境,数据库安装我们采用了编译安装,...7、开始进行初始化数据库w su postgres pg_ctl initdb 备注:这里我们进入postgres用户后直接使用了pg_ctl命令,是因为上面设置了系统环境变量PATH,其次我们切换用户使用

3.3K70

PostgreSQL PG16 逻辑复制在STANDBY 上工作 (译)

该新功能允许从待命服务器进行逻辑复制,用户可以: 从只读待命服务器创建逻辑解码 减轻主服务器工作负载 采用新方式为需要在多个系统之间进行数据同步或审核应用程序提供高可用性 第二个相关且令人兴奋新功能是...这意味着在主服务器故障并将待命服务器提升为主服务器复制槽将持久存在,并且之前待命服务器订阅者不会受到影响。 这两个功能结合在一起,极大地提高了PostgreSQL在处理大数据操作性能。...逻辑复制一个主要优点是您可以从不同版本 PostgreSQL 服务器订阅更改!这在处理使用不同版本 PostgreSQL 应用程序时为您提供了很大灵活性。...正如我们之前所看到,当我们创建订阅连接到备用服务器,它会在不可写备用服务器上创建复制槽。如果我们服务器发生灾难性故障,备用服务器被提升为主服务器,那么会发生什么情况呢?...由于PostgreSQL社区出色工作,在PG 16中,备服用户将能够: 创建逻辑复制槽 启动逻辑解码 订阅备库更改 故障切换后持久化逻辑复制槽 备库将能够作为逻辑复制订阅源进行服务,只需进行很少更改

71740

浅谈 PostgreSQL 高可用方案

逻辑复制 基于触发器主-备复制 基于SQL复制中间件 异步多主控机复制 同步多主控机复制 高可用、负载均衡和复制特性矩阵 3、流复制 Streaming Replication:主库则在 WAL...逻辑复制使用一种发布和订阅模型,其中有一个或者更多订阅订阅一个发布者节点上一 个或者更多发布,订阅者从它们所订阅发布拉取数据并且可能后续重新发布这些数据以 允许级联复制或者更复杂配置。...缺点 • 配置复杂:配置和管理比流复制复杂。 • 性能开销:逻辑复制性能开销可能比流复制大,尤其是在大量数据变更。 • 数据一致性:在高负载下,可能会有数据不一致风险。...使用复制功能可以在 2 个或更多物理磁盘上创建实时备份,以便在磁盘发生故障可以继续服务而无需停止服务器。 负载均衡 • 如果复制了数据库,则在任何服务器上执行 SELECT 查询将返回相同结果。...自动设置必要触发器,日志表等 ;自动发现新添加表并同步表内容 ;自动重新配置序列,以避免重复键冲突 6)Bucardo • Bucardo 是 End Point 公司 Jon Jensen 和

46110

数据库PostrageSQL-服务器配置(复制)

在物理复制后备情况下,这应该被设置在recovery.conf文件primary_conninfo设置中,默认walreceiver。对于逻辑复制,可以在订阅连接信息中设置。...但是注意在比较standby_name和后备机应用程序名称是大小写不敏感(不管有没有双引号)。 如果这里没有指定同步后备机名称,那么同步复制不能被启用并且事务提交将不会等待复制。...订阅者 这些设置控制逻辑复制订阅行为。它们在发布者上值与此无关。...max_logical_replication_workers (int) 指定逻辑复制工作者最大数目。这同时包括应用工作者和表同步工作者。...max_sync_workers_per_subscription (integer) 每个订阅同步工作者最大数目。这个参数控制订阅初始化期间或者新表增加初始数据拷贝并行度。

1.8K10

PostgreSQL集群篇——2、PG环境安装准备

、负载均衡和复制特性解决方案,如下图所示: 特性 共享磁盘故障转移 文件系统复制 预写式日志传送 逻辑复制 基于触发器主-备复制 基于语句复制中间件 异步多主控机复制 同步多主控机复制 最通用实现...同步复制 开始支持同步复制,只支持一个同步复制节点,同步复制能保证数据0丢失 PostgreSQL9.2 级联流复制 开始支持联流复制,备库下面还可以再连接备库,形成级联架构 PostgreSQL9.2...PostgreSQL9.4 逻辑复制 开始支持逻辑复制逻辑复制可以应对部分表复制功能。 PostgreSQL9.6 同步复制改版 同步复制允许多个备用服务器以提高可靠性。...PostgreSQL10 使用发布/订阅进行逻辑复制 PostgreSQL11-13 持续优化 本次我们将采用PostgreSQL13.1版本进行搭建同步复制环境,数据库安装我们采用了编译安装,...这将开启一个到服务器第二连接并且在运行备份并行开始流传输预写式日志。

2.9K40

Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务

本文主要介绍 Windows 环境下搭建 PostgreSQL 主从逻辑复制,关于 PostgreSQl 相关运维文章,网络上大多都是 Linux 环境下操作,鲜有在 Windows 环境下配置教程...\PostgreSQL\data" stop-D 参数 "D:\Software\PostgreSQL\data" 是 PostgreSQL 数据实例位置----今天我们采用逻辑同步复制来实现主从数据库配置...localhost PostgreSQL 实例中 csapp 数据库和 远程服务器上 caspp 数据库主从配置。...这里要注意一点是 PostgreSQL 逻辑订阅并不会同步DDL操作 ,所以对于数据库建表等操作是不会进行主从同步,我们需要手动维护 主从实例数据库上表结构使其保持一致。...这里有一点需要注意,这是 PostgreSQL同步复制一个已知问题,假设 一个主库,一个备库 s1,采用同步模式,然后 synchronous_standby_names 配置为 synchronous_standby_names

83520

PostgreSQL主从复制--逻辑复制

,实时在备库apply,事务结束,备库立马能见到数据 物理复制一致性、可靠性高,不必担心数据逻辑层面不一致 但是其又在实际使用场景中存在一些无法满足需求,例如: 无法满足指定库或部分表复制需求...将多个数据库实例数据汇聚到同一个目标库或将一个库数据分发到多个不同库 不同版本之间复制 不同库名之间同步 对于以上场景,物理复制无法满足,因此逻辑复制应运而生了。...:设置逻辑复制进程数,应大于订阅节点数量,并且给表同步预留一些进程数量,此参数默认值为4 2.3 创建逻辑复制账号 postgres=# CREATE USER logical_repl REPLICATION...物理复制逻辑复制特点和应用场景 PostgreSQL逻辑复制与物理复制差异比较突出,在使用中可以根据其特点选择使用哪种复制方式。 逻辑订阅,适合于发布端与订阅端都有读写情况。...逻辑订阅,更适合于小事务,或者低密度写(轻度写)同步。如果有大事务、高密度写,逻辑订阅延迟相比物理复制更高。 逻辑订阅,适合于双向,多向同步。 物理复制,适合于单向同步

4.1K31

How to Optimize PostgreSQL Logical Replication

使用逻辑复制,需要预见一些挑战。 下面我们看下影响逻辑复制因素。...基础设施容量必须满足处理如此规模数据。 复制活跃性 在复制非常活跃,可能由于IO性能问题、死锁等导致复制落后于同步。这肯能使数据库看起来不太健康。...提供复制槽,可以确保当订阅节点还需要,主机上文件不被删除。建议对于每个订阅节点都配置一个复制槽。 max_worker_processes 配置最优worker进程数也很重要。...max_sync_workers_per_subscription 这个参数指定每个订阅最多需要多少同步进程。初始数据同步期间,同步进程开始工作,使用整个从那时候可以确保同步更快。...配置调优逻辑复制,需要大量计划、架构、测试。为了确保复制系统有效性和可用性,使用逻辑复制需要评估实时复制数据量。

77720

PG逻辑复制REPLICA IDENTITY设置

首先了解下,逻辑复制概念。逻辑复制PostgreSQL V10重量级新特性,支持内置逻辑复制。...从9.4版本开始,PostgreSQL就支持逻辑复制了,只是一直没有将其引入内核。可以针对同一个数据库实例,同时使用逻辑复制和物理复制,因为他们都是基于REDO。...逻辑复制应用场景,可基于表级别复制,是一种粒度可细复制,主要用在以下场景, (1) 满足业务上需求,实现某些指定表数据同步。 (2) 报表系统,采集报表数据。...(3) PostgreSQL 跨版本数据同步。 (4) PostgreSQL 大版本升级。 (5) 可从多个上游服务器,做数据聚集和合并。...逻辑复制原理,使用发布者/订阅者模型,使用订阅复制槽技术,可并行传输WAL日志,通过在订阅端回放WAL日志中逻辑条目,保持复制数据同步,注意这里不是“SQL”复制,而是复制SQL操作结果。

2K31

Windows 环境搭建 PostgreSQL 物理复制高可用架构数据库服务

PostgreSQL 高可用数据库常见搭建方式主要有两种,逻辑复制和物理复制,上周已经写过了关于在Windows环境搭建PostgreSQL逻辑复制教程,这周来记录一下 物理复制搭建方法。...搭建物理复制模式主从订阅首先要调整主实例 postgresql.conf 文件 wal_level = replica synchronous_commit = remote_apply...这里有一点需要注意,这是 PostgreSQL同步复制一个已知问题,假设 一个主实例,一个备库 s1,采用同步模式,然后 synchronous_standby_names 配置为 synchronous_standby_names...文件夹和Data整体打包压缩复制一份到新服务器上启动起来作为从实例。...我这里选择直接把云服务器 PostgreSQL 打包压缩然后复制到本地解压,作为从实例 在本地解压之后,做为 从实例 需要做如下调整,postgresql.conf primary_conninfo

66010

数据库PostrageSQL-订阅

订阅 订阅逻辑复制下游端。订阅被定义在其中节点被称为订阅者。一个订阅会定义到另一个数据库连接以及它想要订阅publication集合(一个或者多个)。...订阅者数据库行为与任何其他PostgreSQL实例相同,并且可以被用作其他数据库发布者,只需要定义它自己publication。 如果需要,一个订阅者节点可以有多个订阅。...预先存在表数据初始数据同步过程可能会要求额外临时复制槽。 逻辑复制订阅可以是同步复制(见Section 26.2.8)后备服务器。后备名称默认是该订阅名称。...在一个订阅被删除并且重建同步信息会丢失。这意味着数据必须被重新同步。 模式定义不会被复制,并且被发布表必须在订阅者上存在。只有常规表可以成为复制目标。例如,不能复制视图。...在删除一个订阅复制槽应该被保留。当订阅者数据库正在被移动到一台不同主机并且将从那里再被激活,这种行为很有用。

43320

PG Logical Replication 逻辑复制

,给了all table做了复制配置, 因此新加表后这里不需要执行添加到发布者命令。...PostgreSQL 11将支持复制TRUNCATE,但这只有在源和目标实例都是PostgreSQL 11或更新版本才有效。...,在同一个数据库下订阅者不能对同一个发布者表重复订阅(避免数据冲突) 6、逻辑复制不同于流复制,不是严格主从关系,订阅者端普通表依然可以进行增删改操作 7、同步表结构需要在发布者和订阅者两边保持一致...(列顺序允许不一样,但是列对应数据类型必须一致) 8、如果订阅者端数据被误删,想要从发布者重新copy同步数据,只能以重建同步表所在订阅方式来实现 其它注意事项: publication...- 发布者 逻辑复制前提是将数据库 wal_level 参数设置成 logical; 源库上逻辑复制用户必须具有 replicatoin 或 superuser 角色; 逻辑复制目前仅支持数据库表逻辑复制

1.6K20

逻辑复制Tablesync workers

逻辑复制PUBLISHER/SUBSCRIBER模型设计基础是如何使用一个后台进程完成订阅功能。本文介绍订阅进程一些背景知识以及我们对Tablesync进程做一些增强。...Tablesync进程注意目的是通过复制已发布表(CREATE SUBSCRIPTION所有行来初始复制表。...Tablesync增强 富士通 OSS 团队正在与开源社区合作,以增强 PostgreSQL 逻辑复制。...此外,由于复制源 跟踪记录在永久槽中,这意味着可以跳过任何已经提交数据。 杂项改进 富士通还在 PostgreSQL 逻辑复制领域贡献了许多其他错误修复和小改进,我们定期参与对其他贡献补丁审查。...以下是我们在其他人帮助下编写更多 PostgreSQL 14 更改: 1)重命名逻辑复制全局“wrconn” 2)改进一些与复制相关错误消息样式 3)修复stream_cleanup_files

62120

PostgreSQL 14及更高版本改进

PG14主要特性 逻辑复制改进 PG14中对逻辑复制进行了几项增强: 1) 正在进行中事务中支持逻辑复制 有助于减少大型事务回放延迟,这里详细进行了介绍: http://amitkapila16...4) 逻辑复制可以以二进制形式传输数据 这通常更快,如果稍微不需要那么健壮的话 5) 逻辑复制中进行表同步期间允许多个事务,带来好处: 如果在同步阶段发生错误,将不再需要再次复制整个表 避免了超过CID...限制风险 在整个同步完成之前,不再需要保留WAL 大表初始同步阶段花费很长时间,基于这些修改,逻辑复制进行了改进。...6) libpq中改进了pipeline模式:允许发送多个查询,并仅当发送了指定同步消息等待完成;它增加了客户端应用程序复杂性,并且需要格外小心以防止客户端/服务器死锁,但管道模式可以提供相当大性能改进...1) 逻辑复制各种改进 在订阅者端支持2PC;schema发布;允许解决冲突选项或工具;sequence复制;行级别的过滤器使数据分片更加便利;列级别的过滤;不发送空事务,提高网络带宽;备机开启逻辑复制

7.6K40

GPDB - 高可用特性 - 同步复制与异步复制

2)synchronous_standby_names 该参数是PG带过来,用于设定需要支持同步复制备节点服务器名称列表。必须与备机application_name一样。...其中 1)num_sync表示事务需要等待响应同步备节点个数 2)standby_name表示同步复制备节点服务器名字,这里指备节点连接配置信息中application_name,对于流复制,可以查看...对于逻辑复制可以在订阅连接信息中设置,缺省值是订阅名本身 3)FIRST和ANY指定从列表中选择同步备节点方法。大小写不敏感。...,commit流程被唤醒逻辑: 1、事务提交 1)事务提交RecordTransactionCommit->SyncRepWaitForLSN进入同步复制等待。...3、切换异步复制 切换异步复制流程如下图所示: 1)事务提交RecordTransactionCommit->SyncRepWaitForLSN进入同步复制等待。

41810

POSTGRESQL 逻辑复制槽,what when how ,check and monitor 这一篇

postgresql 逻辑复制槽估计是一个被说烂的话题,但如果你是在大批量使用逻辑复制槽作为数据同步复制功能,那这就是一个另外的话题了。...2 逻辑复制是否可以级联 是的逻辑复制是可以通过一级套一级方式来进行数据传送,假如我们有三个POSTGRESQL ,那么我们A 为发布,B 为订阅, B 同时为发布 C 为订阅,这样设计是可以...不同复制槽在同一个数据库中可以针对不同数据消费者和订阅者。可以通过逻辑复制槽将这些订阅进行分离。...2 subscription : 通过在发布者上建立复制槽,进行数据复制和数据接收,如不指定逻辑复制槽则自行进行逻辑复制初始化工作。...9 创建一个发布 在创建publication ,需要注意几点 1 创建 publication 是可以针对表进行添加,也可以设置随时添加表就包含在publication中。

2.6K30

pg_wal发展史

正因为如此我们可以把WAL日志看作是数据库变更履历,也因为这一特性,WAL日志在数据库恢复、高可用、流复制逻辑复制等Postgres模块中扮演着极其重要角色。...不过没有为级联复制准备特殊GUC参数,我们只要把上游服务器配置为一个备机就可以了。...9.4复制槽与Logical 实现了复制槽,使得发送服务器刚好能保存适当wal文件。...SYNCHRONOUS_STANDBY_NAMES 这个参数增加了值类型,用以支持多同步备机 10.0逻辑复制 10.0版本趋向于将用户可见xlog改为wal,最直观就是将wal生成目录名从pg_xlog...MAX_LOGICAL_REPLICATION_WORKES 最大逻辑复制进程数 MAX_SYNC_WORKERS_PER_SUBSCRIPTION 在创建订阅订阅者可以选择将发布端所有表中数据全部拷贝过来

1.3K00
领券