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

PostgreSQL逻辑复制-创建订阅挂起

PostgreSQL逻辑复制是一种在数据库之间复制数据的方法,它基于逻辑日志来实现数据的同步。逻辑复制允许将数据从一个源数据库复制到一个或多个目标数据库,可以用于数据备份、数据分发、数据分析等场景。

创建订阅是逻辑复制的一种操作,它用于在目标数据库中创建一个订阅,以接收来自源数据库的数据变更。创建订阅时,可以指定要复制的表、复制的过滤条件等。创建订阅后,源数据库中的数据变更会被传输到目标数据库中,保持两个数据库的数据同步。

挂起是创建订阅时的一个可选参数,用于控制订阅的状态。当创建订阅时指定挂起参数为true时,订阅会被创建但处于挂起状态,不会立即开始复制数据。这样可以在创建订阅后进行一些准备工作,确保目标数据库的环境和配置都准备就绪后再开始复制数据。

挂起订阅的优势在于可以避免在创建订阅后立即开始复制数据可能引起的一些问题,比如网络延迟、目标数据库负载过高等。通过挂起订阅,可以在准备就绪后手动启动复制过程,确保数据同步的可靠性和稳定性。

逻辑复制的应用场景包括:

  1. 数据备份和灾备:通过逻辑复制可以将源数据库的数据复制到备份数据库中,以实现数据的备份和灾备。在灾难发生时,可以快速切换到备份数据库,保证业务的连续性。
  2. 数据分发:逻辑复制可以将源数据库的数据复制到多个目标数据库中,实现数据的分发。这在分布式系统中非常有用,可以将数据分发到不同的地理位置或不同的业务系统中。
  3. 数据分析:通过逻辑复制可以将源数据库的数据复制到专门用于数据分析的数据库中,以进行复杂的数据分析和挖掘。这可以避免对源数据库的查询和分析操作对业务性能的影响。

腾讯云提供了一系列与逻辑复制相关的产品和服务,包括云数据库 PostgreSQL、云数据库 PostgreSQL for Serverless等。这些产品提供了可靠的逻辑复制功能,可以满足不同场景下的需求。

更多关于腾讯云 PostgreSQL 相关产品和服务的介绍,请参考以下链接:

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

相关·内容

PostgreSQL主从复制--逻辑复制

1 物理复制逻辑复制对比 前文做了PostgreSQL物理复制的部署,其有如下主要优点 物理层面完全一致,是主要的复制方式,其类似于Oracle的DG 延迟低,事务执行过程中产生REDO record...max_replication_slots参数值加上物理备库数量 max_replication_slots:设置值需大于订阅节点的数量 2.2 修改逻辑从库的postgresql.conf 逻辑从库的...:设置逻辑复制进程数,应大于订阅节点的数量,并且给表同步预留一些进程数量,此参数默认值为4 2.3 创建逻辑复制账号 postgres=# CREATE USER logical_repl REPLICATION...物理复制逻辑复制特点和应用场景 PostgreSQL逻辑复制与物理复制的差异比较突出,在使用中可以根据其特点选择使用哪种复制方式。 逻辑订阅,适合于发布端与订阅端都有读写的情况。...逻辑订阅,更适合于小事务,或者低密度写(轻度写)的同步。如果有大事务、高密度写,逻辑订阅的延迟相比物理复制更高。 逻辑订阅,适合于双向,多向同步。 物理复制,适合于单向同步。

4.3K31

PostgreSQL 逻辑复制水”好深

逻辑复制,就是那个容易出错,效率低,容易造成主从数据不一致的技术. 可能在提及逻辑复制,就会得到上面的评论,或许是MYSQL 给人的第一印象(其实我不认为逻辑复制有多不好)。...1 创建一个publication,在 dvdrental 数据库中执行如下命令创建一个 dvdrental 为命名的所有表的 publication CREATE PUBLICATION dvdrental...,而复制槽的建立,是开始数据复制的开始, 所以在复制槽建立前如果在publication端录入的数据,并且在 subscription 端创建订阅时 采用 with (copy_data = false...这是一点,在做逻辑复制时需要考虑的问题 另一个点是,我在做测试的时候很怪异,我想停止订阅服务, alter subscription 订阅的名字 disable 提示 订阅不存在 drop subscription...订阅的名字 删除订阅 也提示订阅不存在 无奈之下只能关闭从库,删除publication 和 复制槽 而留下的结果也很有趣,就是连续做了两次 publication subscription 会出现同样名字的

1.3K40
  • PostgreSQL 通过python 监控逻辑复制

    本期是通过PYTHON 来对逻辑复制中的配置参数,publication 定义, 打印不适合进行逻辑复制的表,打印没有在使用的复制槽,另外包含当前发布端和接收端两边的LSN对比。...以下是代码,对于逻辑复制中主要的监控点有 1 是不是存在复制槽不使用的情况 2 是不是存在主库和从库之间的复制延迟(异步) 3 当前库是不是存在不适合进行逻辑复制的表 4 当前库是不是有设置发布.../usr/bin/python3 import os import sys import psycopg2 import re import subprocess #检测当前PG是否具备进行逻辑复制的参数配置...("""show max_wal_senders;""") rows = cur.fetchall() for row in rows: print("启用逻辑复制,请注意最大...另逻辑复制中最怕的是接收端数据出现问题,导致复制停止,目前需要通过日志来查询出现的问题。程序里面并未有及时分析日志的部分。

    77130

    解决PostgreSQL逻辑复制的挑战

    Merrick 和他的联合创始人 Denis Lussier(他们之前共同创建了 EnterpriseDB)在开源 PostgreSQL 上构建了 pgEdge,其理念是,地理分布式集群中的几个节点(每个节点处理读写...尽管 Postgres 中的逻辑复制 是一项强大的功能,但它也存在一些挑战,包括一致性、同步、冲突解决和开销,这些都会影响性能。...星座版的功能包括: 大型对象逻辑复制 (LOLOR): 此 PostgreSQL 插件替换使现有应用程序的媒体资产(例如二进制文件、图像和其他非关系数据类型)与逻辑复制兼容。...尽管 Postgres 支持将大型对象作为目录表中的块进行存储,但复制这些表需要特殊处理,根据其 大型对象逻辑复制 (LOLOR) GitHub 页面 所述。...它根据逻辑更改(例如插入、更新和删除操作)而不是存储级别的物理更改来复制数据,并使用 更改数据捕获 来确保与其他数据库实例的近乎实时的同步。

    14010

    PostgreSQL逻辑复制之pglogical篇

    一、pglogical介绍 pglogical 是 PostgreSQL 的拓展模块, 为 PostgreSQL 数据库提供了逻辑复制发布和订阅的功能。...pglogical 是一个完全作为PostgreSQL 扩展实现的逻辑复制系统。完全集成,它不需要触发器或外部程序。这种物理复制的替代方法是使用发布/订阅模型复制数据以进行选择性复制的一种高效方法。...是新技术组件,使用了最新的 PostgreSQL 数据库中的一些核心功能,所以存在一些数据库版本限制: 数据源发布和订阅节点需要运行 PostgreSQL 9.4 + 复制源过滤和冲突检测需要 PostgreSQL...('default', ARRAY['public']); 复制集default的表都必需要primary key 3.3、订阅者节点配置 1、创建节点 在另一个数据库创建订阅者节点 SELECT pglogical.create_node...( node_name := 'subscriber1', dsn := 'host=192.168.1.235 port=5432 dbname=lottu' ); 2、创建订阅 订阅提供者节点,该订阅将在后台启动同步和复制过程

    1.9K10

    PostgreSQL逻辑复制 与 部分疑问

    PostgreSQL 本身是支持流式复制的,而大部分数据库都支持逻辑复制的方式,流式复制稳定高效,但缺点是不灵活,而逻辑复制的优点就在于此。...逻辑复制的优点 1 可以进行数据的过滤 2 可以进行数据的融合 3 部分数据的复制 逻辑复制使用发布/订阅模型,因此我们在上游(或发布者)创建发布,在下游(或订阅者)创建订阅。...通过一个例子我们来进行实际的逻辑复制的理解 1 先在原库上创建一张表 ?...2 创建发布publication, 在创建复制的过程是在当前的数据库中建立复制通道发布的本质是一组表 create publication repl_test for all tables; 3 然后我们在目的库建立相同的表...repl_table1 (id serial constraint primarykey primary key,name varchar(20),create_time timestamp); 4 创建相关的

    1.5K30

    PostgreSQL 13、14中逻辑复制解码改进

    PostgreSQL 13、14中逻辑复制/解码改进 最近写了一篇关于Patroni如何解决PG集群中逻辑复制槽故障转移问题的博客: https://www.percona.com/blog/how-patroni-addresses-the-problem-of-the-logical-replication-slot-failover-in-a-postgresql-cluster.../ 事实上,没有什么比这个问题更能伤害逻辑复制了。...但是如何将改动直接传输给订阅者而不是溢出到磁盘,这是PG14中的主要改进。由于我们处理的是正在运行的事务,所以这并不是说说那么简单。逻辑复制的整体逻辑和特性必须经历巨大变化。...但是PG14引入了将reorderbuffer流式传输到订阅者而不是先溢出到磁盘的选项。显然,流式传输正在运行的事务这个新功能需要复制协议的改进。...当有人设置逻辑复制时,这是一个很大的增值。

    70420

    PostgreSQL 逻辑复制学习中的深入与疑问

    首先逻辑复制早期在 PG 10 之前是通过插件的方式来实现其功能的,在PG10合并进数据库系统中。...逻辑复制主要解决的问题(是物理复制不能,或很难解决的问题) 1 表级别的复制 2 主从数据表的结构有条件的不一致 3 复制的数据进行过滤,仅仅复制 INSERT ,或者 UPATE 等操作...逻辑复制应该解决的是更贴近业务,或者满足更细粒度的业务场景中的数据同步。 逻辑复制原理图 ? 之前是有一篇逻辑复制输出其他格式的数据的文字,在下面这张图找到了他所处的层次和机理 ?...PostgreSQL的基于块的复制解决方案也默认为异步复制。...部分资料原文,来自瀚高,与一位日本POSTGRESQL 大咖的网站 https://www.highgo.ca/2019/08/22/an-overview-of-logical-replication-in-postgresql

    1.2K20

    PostgreSQL 逻辑复制一网打尽

    PostgreSQL逻辑复制的场景还是蛮多的,尤其在一些需要进行关键数据表数据同步的情况下,将数据操作进行同步是十分有必要的业务场景。...在提到POSTGRESQL逻辑复制之前,还是的先说说逻辑复制的应用场景,以及与物理复制的不同和操作中的注意事项。...2 创建publication create publication test_data_p for table test_data; 3 在另外一台机器的postgres库创建于原库一致的数据表...ALTER PUBLICATION test_data_p ADD TABLE idt ; ALTER PUBLICATION test_data_p ADD TABLE idt ; 3 在订阅端设置刷新的策略...另外逻辑复制中也有一些问题是需要注意和知晓的 1 在高可用的环境下,如果主机切换,逻辑复制是无法进行切换的 2 如果在设置复制为同步模式,则可能在部分情况下引起主库commit的性能问题

    84720

    24日直播预告丨PostgreSQL逻辑复制案例分享

    PostgreSQL逻辑复制案例分享——2月24日20:00 在PostgreSQL和基于PostgreSQL的国产数据库的使用中,逻辑复制作为一种区别于流复制的数据同步功能,常用于主业务库向分析库的数据同步...、归并与汇总,逻辑复制具有更灵活的使用场景。...但使用逻辑复制的同时,也有一些需要注意的坑。本次分享邀请到云和恩墨PG技术顾问阎书利老师,通过以往项目经验以及一起生产案例来讲述逻辑复制需要注意的点,尽可能避免后期生产故障的发生。...演讲提纲:1.逻辑复制介绍及原理2.一起逻辑复制槽引发wal异常的生产案例3.解析PG清除wal原理4.关于逻辑复制的细节及建议 适合人群: PostgreSQL数据库工程师,基于PostgreSQL...友情提示:本直播课免费报名参与,视频回放及PPT将会收录在《2022云和恩墨大讲堂》课程中,可在底部点击阅读原文订阅观看。

    25330

    PostgreSQL 逻辑复制大事务处理的演进

    1前言接上篇《进击的逻辑复制》未完话题——大事务。众所周知,逻辑复制处理大事务一直比较头疼,不仅会导致性能下降,还会导致延迟。从 13 版本以来,每个大版本在对大事务的处理方面都有显著的提升。...这限制了逻辑复制连接使用的内存量。默认为 64 MB。...而在 15 版本里,主要是对逻辑复制功能方面进行了增强,比如 row filter图片另外还有一个很方便的特性,便是 skip lsn,直接在订阅端指定要跳过的位点,这就要方便多了。...3小结可以看到,社区一直在不断优化着逻辑复制的功能,相信在今年发布的 16 中,逻辑复制的能力会有一个质的飞跃。...另外分享一个逻辑复制演进合订本 请叫我雷锋4参考编号说明1PostgreSQL 逻辑复制2CREATE PUBLICATION — 定义一个新的发布3CREATE SUBSCRIPTION — 定义一个新的订阅

    42530

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

    除了物理复制之外,PostgreSQL 10.0版还引入了对逻辑复制的支持。...步骤1 - 为逻辑复制配置PostgreSQL 您需要修改几个配置设置以启用服务器之间的逻辑复制。首先,您将配置Postgres以侦听专用网络接口而不是公共接口,因为通过公共网络公开数据存在安全风险。...服务器以使更改生效: sudo systemctl restart postgresql 将配置设置为允许逻辑复制后,您现在可以继续创建数据库,用户角色和表。...第2步 - 设置数据库,用户角色和表 要测试复制设置的功能,我们创建一个数据库,表和用户角色。您将使用示例表创建一个example数据库,然后可以使用该表来测试服务器之间的逻辑复制。...第4步 - 创建订阅 PostgreSQL使用订阅来连接到现有的发布。一个发布可以在不同的副本服务器上有许多订阅,副本服务器也可以拥有自己的订阅者发布。

    2.9K50

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

    Background on replication 在高层次上,PostgreSQL支持两种主要类型的复制:流式/物理复制逻辑复制。...从standby 中进行逻辑复制 现在,我们可以转到我们的报告 PostgreSQL 实例并从备用实例订阅更改。在 PostgreSQL 16 之前,此操作将失败。...逻辑复制的一个主要优点是您可以从不同版本的 PostgreSQL 服务器订阅更改!这在处理使用不同版本的 PostgreSQL 的应用程序时为您提供了很大的灵活性。...在我们的数据仓库报表PostgreSQL服务器上,订阅了我们现在的主服务器,对库存表的更改出现了,而不需要采取任何其他操作(确保您要逻辑复制的表设置了REPLICA IDENTITY): SELECT...由于PostgreSQL社区的出色工作,在PG 16中,备服用户将能够: 创建逻辑复制槽 启动逻辑解码 订阅备库的更改 故障切换后持久化逻辑复制槽 备库将能够作为逻辑复制订阅者的源进行服务,只需进行很少的更改

    84440

    Postgresql源码(70)逻辑复制DecodeXLOG主要流程和数据结构

    相关: 《Postgresql源码(66)insert on conflict语法介绍与内核执行流程解析》) 《Postgresql源码(70)逻辑复制DecodeXLOG主要流程和数据结构》...本篇只简单介绍逻辑复制解析过程,这里面的比较有意思的历史快照还没有看,后面在补一篇。...1 解析流程 逻辑复制数据结构稍复杂,流程逻辑很简单。...(insert on conflict的解析场景稍微特殊一些,这种spec insert会产生两条日志,参考这篇:《Postgresql源码(66)insert on conflict语法介绍与内核执行流程解析...Change结构记录了修改的具体内容,也可以理解为逻辑解析的半成品。 Change结构在事务提交时,会全部拿出来给试下指定的逻辑复制解析插件,按插件自己定制解析后输出逻辑解析成品。

    47010

    云和恩墨大讲堂丨PostgreSQL逻辑复制案例分享

    PostgreSQL逻辑复制案例分享——2月24日20:00 在PostgreSQL和基于PostgreSQL的国产数据库的使用中,逻辑复制作为一种区别于流复制的数据同步功能,常用于主业务库向分析库的数据同步...、归并与汇总,逻辑复制具有更灵活的使用场景。...但使用逻辑复制的同时,也有一些需要注意的坑。本次分享邀请到云和恩墨PG技术顾问阎书利老师,通过以往项目经验以及一起生产案例来讲述逻辑复制需要注意的点,尽可能避免后期生产故障的发生。...演讲提纲:1.逻辑复制介绍及原理2.一起逻辑复制槽引发wal异常的生产案例3.解析PG清除wal原理4.关于逻辑复制的细节及建议 适合人群: PostgreSQL数据库工程师,基于PostgreSQL...友情提示:本直播课免费报名参与,视频回放及PPT将会收录在《2022云和恩墨大讲堂》课程中,可在底部点击阅读原文订阅观看。

    30420

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

    postgresql逻辑复制槽估计是一个被说烂的话题,但如果你是在大批量的使用逻辑复制槽作为数据的同步和复制的功能,那这就是一个另外的话题了。...针对建立一个发布的情况,用户必须有create 和 select 的权限, 当创建一个订阅的时候,则必须具有superuser的权限。...2 逻辑复制是否可以级联 是的逻辑复制是可以通过一级套一级的方式来进行数据的传送,假如我们有三个POSTGRESQL ,那么我们A 为发布,B 为订阅, B 同时为发布 C 为订阅,这样的设计是可以的...不同的复制槽在同一个数据库中可以针对不同的数据的消费者和订阅者。可以通过逻辑复制槽将这些订阅进行分离。...8 开始创建逻辑复制创建逻辑复制槽是通过函数的方式来建立逻辑复制槽,下面的函数 pg_create_physical_replication_slot()就是创建逻辑复制槽的函数。

    3.1K30
    领券