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

如何正确设置逻辑postgresql复制(两种方式)?

逻辑 PostgreSQL 复制是一种常用的数据复制技术,可以实现数据的实时同步和备份。下面介绍两种正确设置逻辑 PostgreSQL 复制的方式:

方式一:基于逻辑复制插件的设置

  1. 确保 PostgreSQL 版本在 10 及以上,并且已经启用了逻辑复制插件(logical replication)。
  2. 在主服务器上,修改 postgresql.conf 配置文件,启用逻辑复制并设置复制的发布者(publisher)。
  3. 在主服务器上,修改 postgresql.conf 配置文件,启用逻辑复制并设置复制的发布者(publisher)。
  4. 重启主服务器,使配置生效。
  5. 在主服务器上创建一个逻辑复制槽(replication slot),用于保存复制的数据。
  6. 在主服务器上创建一个逻辑复制槽(replication slot),用于保存复制的数据。
  7. 其中,'slot_name' 是槽的名称,可以根据实际情况进行命名。
  8. 在从服务器上,修改 postgresql.conf 配置文件,启用逻辑复制并设置复制的订阅者(subscriber)。
  9. 在从服务器上,修改 postgresql.conf 配置文件,启用逻辑复制并设置复制的订阅者(subscriber)。
  10. 重启从服务器,使配置生效。
  11. 在从服务器上创建一个逻辑复制订阅(subscription),连接到主服务器的复制槽。
  12. 在从服务器上创建一个逻辑复制订阅(subscription),连接到主服务器的复制槽。
  13. 其中,'subscription_name' 是订阅的名称,可以根据实际情况进行命名;'主服务器IP地址'、'主服务器端口'、'数据库名'、'用户名'、'密码' 需要替换为实际的连接信息;'slot_name' 是之前创建的复制槽的名称。

方式二:基于逻辑复制插件的逻辑订阅设置

  1. 确保 PostgreSQL 版本在 10 及以上,并且已经启用了逻辑复制插件(logical replication)。
  2. 在主服务器上,修改 postgresql.conf 配置文件,启用逻辑复制并设置复制的发布者(publisher)。
  3. 在主服务器上,修改 postgresql.conf 配置文件,启用逻辑复制并设置复制的发布者(publisher)。
  4. 重启主服务器,使配置生效。
  5. 在主服务器上创建一个逻辑复制槽(replication slot),用于保存复制的数据。
  6. 在主服务器上创建一个逻辑复制槽(replication slot),用于保存复制的数据。
  7. 其中,'slot_name' 是槽的名称,可以根据实际情况进行命名。
  8. 在从服务器上,创建一个逻辑订阅(logical replication subscription),连接到主服务器的复制槽。
  9. 在从服务器上,创建一个逻辑订阅(logical replication subscription),连接到主服务器的复制槽。
  10. 其中,'subscription_name' 是订阅的名称,可以根据实际情况进行命名;'主服务器IP地址'、'主服务器端口'、'数据库名'、'用户名'、'密码' 需要替换为实际的连接信息;'slot_name' 是之前创建的复制槽的名称。

以上是两种正确设置逻辑 PostgreSQL 复制的方式。逻辑复制可以实现数据的实时同步和备份,适用于需要高可用性和数据一致性的场景。腾讯云提供的云数据库 PostgreSQL(CDB for PostgreSQL)是一种高性能、高可用的云数据库产品,支持逻辑复制和数据同步,可以满足各种应用场景的需求。详情请参考腾讯云数据库 PostgreSQL 产品介绍:https://cloud.tencent.com/product/cdb_postgres

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

相关·内容

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

除了物理复制之外,PostgreSQL 10.0版还引入了对逻辑复制的支持。...按照如何在Ubuntu 18.04上安装和使用PostgreSQL的步骤1,在两台服务器上安装PostgreSQL 10 。...步骤1 - 为逻辑复制配置PostgreSQL 您需要修改几个配置设置以启用服务器之间的逻辑复制。首先,您将配置Postgres以侦听专用网络接口而不是公共接口,因为通过公共网络公开数据存在安全风险。...Log级别配置不正确(必须设置为logical); db-master未配置为接受来自正确的db-replica专用IP地址的传入连接; 像UFW这样的防火墙阻塞了端口5432上传入的PostgreSQL...想要了解更多关于使用PostgreSQL 10设置逻辑复制的相关教程,请前往腾讯云+社区学习更多知识。

2.9K50

数据库PostrageSQL-逻辑复制

逻辑复制 逻辑复制是一种基于数据对象的复制标识(通常是主键)复制数据对象及其更改的方法。我们使用术语“逻辑”来与物理复制加以区分,后者使用准确的块地址以及逐字节的复制方式。...PostgreSQL两种机制都支持,请见Chapter 26。逻辑复制允许在数据复制和安全性上更细粒度的控制。...Publication可以选择把它们产生的更改限制为INSERT、UPDATE、DELETE以及TRUNCATE的任意组合,类似于触发器如何被特定事件类型触发的方式。...如果在发布者端设置了“full”之外的复制标识,在订阅者端也必须设置一个复制标识,它应该由相同的或者少一些的列组成。如何设置复制标识的细节请参考REPLICA IDENTITY。...ADD TABLE以及DROP TABLE操作都是事务性的,因此一旦该事务提交,该表将以正确的快照开始或者停止复制

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

    ,如下图所示: 特性 共享磁盘故障转移 文件系统复制 预写式日志传送 逻辑复制 基于触发器的主-备复制 基于语句的复制中间件 异步多主控机复制 同步多主控机复制 最通用的实现 NAS DRBD 内建流复制...在流复制解决方案中分为同步、异步两种,异步流复制通常采用的是基于wal日志来传送的方式进行,从节点通常比主节点要少一个wal日志块的数据,这给我们并发查询造成了影响,因此这里我们需要采用同步流复制解决方案...流复制是从2010年推出pg9.0版本以后开始的,其版本到目前经历的阶段如下: 版本 方式 描述 PostgreSQL9.0 流式物理复制 开始支持流式物理复制,用户可以通过流式复制构建只读备库 PostgreSQL9.1...PostgreSQL9.4 逻辑复制 开始支持逻辑复制逻辑复制可以应对部分表复制的功能。 PostgreSQL9.6 同步流复制改版 同步流复制允许多个备用服务器以提高可靠性。...PostgreSQL10 使用发布/订阅进行逻辑复制 PostgreSQL11-13 持续优化 本次我们将采用PostgreSQL13.1版本进行搭建同步流复制环境,数据库安装我们采用了编译安装,

    3.6K70

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

    在流复制解决方案中分为同步、异步两种,异步流复制通常采用的是基于wal日志来传送的方式进行,从节点通常比主节点要少一个wal日志块的数据,这给我们并发查询造成了影响,因此这里我们需要采用同步流复制解决方案...流复制是从2010年推出pg9.0版本以后开始的,其版本到目前经历的阶段如下: 版本 方式 描述 PostgreSQL9.0 流式物理复制 开始支持流式物理复制,用户可以通过流式复制构建只读备库 PostgreSQL9.1...PostgreSQL9.4 逻辑复制 开始支持逻辑复制逻辑复制可以应对部分表复制的功能。 PostgreSQL9.6 同步流复制改版 同步流复制允许多个备用服务器以提高可靠性。...PostgreSQL10 使用发布/订阅进行逻辑复制 PostgreSQL11-13 持续优化 本次我们将采用PostgreSQL13.1版本进行搭建同步流复制环境,数据库安装我们采用了编译安装,...文件使其具备主节点所需条件 当然你也可以采用如下方式进行简单配置,完成简单的复制设置

    3K40

    用Java获取PostgreSQL变更数据完整源码

    一、基础知识 PostgreSQL数据库提供了两种复制方式:物理复制逻辑复制。 1、物理复制 物理复制是指将主库 WAL 日志的日志页直接发到备机,备机完全应用的一种复制方式。...2、逻辑复制 PostgreSQL 逻辑复制是事务级别的复制,使用订阅复制槽技术,通过在订阅端回放 WAL 日志中的逻辑条目。物理复制逻辑复制有各自的适用场景以及优缺点,这部分不是本篇讨论范围。...本篇我们主要介绍如何通过 Java 程序,实现 PostgreSQL逻辑复制。...二、PostgreSQL 配置 要使用 PostgreSQL逻辑复制功能,首先需要对数据库进行相应的配置以支持逻辑复制功能。...修改完毕后 重启 PostgreSQL 数据库,使参数生效。

    15410

    用Java获取PostgreSQL变更数据

    上期示例了一下 Oracle CDC的配置 过程,本期我们再来看一下 用 Java 程序实现 PostgreSQL 如何实现变更数据的获取。...数据同步方式 PostgreSQL数据库提供了两种复制方式:物理复制逻辑复制。 物理复制 物理复制是指将主库 WAL 日志的日志页直接发到备机,备机完全应用的一种复制方式。...逻辑复制 PostgreSQL 逻辑复制是事务级别的复制,使用订阅复制槽技术,通过在订阅端回放 WAL 日志中的逻辑条目。 物理复制逻辑复制有各自的适用场景以及优缺点,这部分不是本篇讨论范围。...本篇我们主要介绍如何通过 Java 程序,实现 PostgreSQL逻辑复制。...PostgreSQL 配置 要使用 PostgreSQL逻辑复制功能,首先需要对数据库进行相应的配置以支持逻辑复制功能。

    1.6K20

    遇见未来 | PostgreSQL:一匹即将发力的黑马

    PostgreSQL是DB领域的一匹黑马,之前一直默默活在MySQL的阴影之下,今年随着 10.0版本的发布,Declarative Partitioning的引入,改进的查询并行性,逻辑复制和同步复制的...PostgreSQL的发展,经历了几个重要的版本 从8.0开始,逐渐增加了众多的企业功能,包括写日志,表分区,物理同步复制,物理异步复制逻辑复制,在线热备份,并行查询。...通过控制对网络上数据传输时间的确认,可以分为异步复制和同步复制,这两种复制方式会涉及SLA定义的RTO和RPO等指标,同时也涉及到系统性能。 (3)目前的阶段是物理流复制方式比较丰富的阶段。...在以前的复制方式上,对同步复制的控制手段很少;现阶段不仅可以控制集群内有多少台同步复制,而且可以控制数据提交成功的确认方式,例如在多少个同步复制节点提交成功、以什么样的方式在同步节点上提交成功,first...PostgreSQL数据库未来将会如何演变,如何应对海量数据的实时处理需求?

    2.1K70

    从零开始学PostgreSQL (七):高可用性、负载平衡和复制

    内置逻辑 repl., pglogical Londiste, Slony pgpool-II型 Bucardo 通信方式 共享磁盘 磁盘块 WAL 逻辑解码 表行 SQL的 表行 表行和行锁 无需特殊硬件...这种方式适用于不需要实时数据同步的场景。 流复制:流复制提供了实时数据同步的功能,使备用服务器能够立即接替主服务器的角色。这种方式适用于需要快速故障转移的应用场景。...正确的配置可以大幅提高备用服务器的响应能力和数据一致性,同时有效的监控机制能够及时发现和解决复制过程中可能出现的问题。...热备用反馈 反馈传播:热备用反馈会沿着级联复制的链路向上游服务器传播,无论复制拓扑如何安排。...待机状态下的连续存档 在PostgreSQL中,当备用数据库(standby server)处于待机状态下,连续写前日志(WAL)存档的处理有以下两种主要方案: 1、独立存档: 当archive_mode

    10410

    《打造高可用PostgreSQL:策略与工具》

    为了满足你们对“高可用PostgreSQL”的好奇心,今天我要和大家分享如何打造一个真正的高可用PostgreSQL环境!...所以,如何确保你的PostgreSQL数据库始终处于可用状态呢? 正文 1. 什么是高可用?...配置主-从复制需要设置一些 PostgreSQL 配置参数,如 wal_level 和 max_wal_senders,以及配置从数据库以连接到主数据库。...2.2 逻辑复制 逻辑复制是一种高可用性策略,允许选择性地复制特定表或数据。在 PostgreSQL 中,可以使用扩展如 pg_logical 来实现逻辑复制。...逻辑复制比物理复制更灵活,因为它可以跨不同版本的 PostgreSQL 进行复制,并且可以选择性地过滤和转换数据。 要使用逻辑复制,需要创建逻辑复制插槽并配置发布者和订阅者。

    30310

    Postgresql主从复制--物理复制

    timg.jpg 1 复制类型 PostgreSQL支持物理复制(流复制)及逻辑复制2种。通过流复制技术,可以从实例级复制出一个与主库一模一样的实例级的从库。流复制同步方式有同步、异步两种。...另一种复制方式逻辑复制,区别于物理复制的是物理复制是基于实例级的复制,只能复制整个PostgreSQL实例,而不能基于部分库及表。...从PostgreSQL10开始,出现了基于表级别的复制,即逻辑复制。 2  流复制 主库安装及从库编译此处就省略了,直接进入主从复制的安装环节。...)两种方式,建议使用s方式 -P 表示显示数据文件、表空间传输的近似百分比 允许在备份过程中实时的打印备份的进度 -v 表示启用verbose模式,命令执行过程中会打印各阶段日志,建议启用 -R 表示会在备份结束后自动生成...注: synchronous_commit 有多种方式,在流复制模式下,主要设置情况如下: remote_write: 当流复制主库提交事务时,需等待备库接收主库发送的WAL日志流并写入备节点操作系统缓存中

    6.5K22

    POSTGRESQL CDC 现学现卖

    PostgreSQL 的 CDC ,不能光看,还的去实践。 首先 POSTGRESQL 本身的复制方式有流式复制逻辑复制两种,今天要说的就是逻辑复制中的CDC功能。...而实施CDC POSTGRESQL 要具备两个功能,1 获取数库的变更日志(WAL) 和 获取变更日志前的数据一致性快照,最后要保存消费者的偏移量。而提到逻辑复制,是从PG10开始的新功能。...1 先通过一个实践来看看什么叫PG的 CDC (以忽略部分数据库基础设置) 首先我们先要创建一个逻辑复制槽,并且使用系统给定的一个test_decoding的解码插件。 ?...同时我们也可以更换逻辑复制槽中的解码工具,我们看一下,在PG中输入的数据,经过逻辑复制槽后,直接解码为为 JSON 的数据 ?...当然如果我们使用了其他的解析插件的情况下,还可以将语句直接翻译过来,如果保留这些语句,可以自己做一个类似于UNDO 的东西,将已经执行的语句,进行回滚,从中也更加理解了 data pipleline 中为什么对传统数据库要设置主键

    1.8K30

    PostgreSQL 15 16 小版本更新信息小结 版本更新是不是挤牙膏

    更细粒度的对逻辑复制进行设置包含设置指定列的功能 https://www.postgresql.org/docs/release/15.0/ 15.0 针对 ZSTD 压缩的支持,比如在 pg_basebackup...中使用数据压缩的新的方式 https://www.postgresql.org/docs/release/15.0/ 15.0 Json 结构化输出日志的功能 https://www.postgresql.org.../ PG16 允许从备用服务器进行逻辑复制 PG16 允许逻辑复制订阅使用并行来处理较大的事务中的数据 PG16 允许使用新的pg_stat_io视图监测 I/O 统计信息 PG16 提高了vacuum...PG16 允许并行复制逻辑复制上使用 The CREATE SUBSCRIPTION STREAMING option now supports parallel to enable application...PG16 允许逻辑复制应用在无主键的表 Improve performance for logical replication apply without a primary key (Onder Kalaci

    27010

    PostgreSQL 高可用集群 repmgr 与 头疼的问题

    PGPOOL-II 在安装适用中遇到很多问题,按理说一家日本公司做的东西应该靠谱,可惜问题太多,所以不能被作为 HA 的方式使用。 一个HA 的方式应该是简单的,高效的,并且抗X 的。...1 你POSTGRESQL 编译安装后,是否设置了系统变量,如果不设置系统变量就会遇到不少问题 2 不设置系统变量,你的BIN目录下的 PSQL PG_CONFIG 等文件是你编译的文件。...以下文字均建立在 1 您已经会独立安装POSTGRESQL 并无故障的基础上 2 您理解并可以进行流复制设置和部分问题的故障排查 下面会有两台机器, IP 分别为 192.168.198.110...-f /pgdata/archive/%f && cp %p /pgdata/archive/%f' 如果您不知道上面的都是什么,这里大致的介绍一下,PG的复制其中有流式复制逻辑复制两种,我们采用的是流式复制...以上的配置中前四个都是与流式复制有关的配置信息,后面两个是LOG 的 archive的设置。 后面需要设置的就是 repmgr 的操作数据库的用户和相关repmgr 存储元数据的数据库。

    5.5K40

    PostgreSQL 监控之拨云见日 (公开课)

    熟悉POSTGRESQL的同学大多理解了POSTGRESQL 的原理,就会知道 BLOAT膨胀这个词在postgresql中是一个比较敏感的词, 我们这里不提如何解决,但你的数据库中的表的是否膨胀你是要清楚了...1复制的服务是否持续的进行2复制是否有延迟 那么我想问一个为, 如果逻辑复制停止了, 我们要不要当做一个紧急的任务来报警, 这里如果我们不考虑业务,或者说如果复制停止了, 业务在一定时间是可以承受的,或不是很在乎这里就要介入到...PG的数据库的原理, 如果逻辑复制停止了, 则会最终导致主库的wal无法被清除, 沾满磁盘空间, 最终导致主库停库的问题, 说到这里如果此时有逻辑复制的PG ,我们并未监控逻辑复制是否中断后立即报警,...但这台机器的WALLOG 磁盘空间报警了, 可能第一就会想看逻辑复制是否还正常那么就会继续这个问题问, 如果是standby的库不稳定, 经常DOWN 掉, 那针对逻辑复制, 如果我设置了报警, 怎么办..., 经常性的报警那就需要 1 增大WAL LOG 的空间, 设置相关的逻辑复制停止后的 多长时间进行报警 比如 5分钟以后报警还是 1分钟以后报警 这都要看 standby经常多长时间内恢复,并正常工作

    67810

    进阶数据库系列(十六):PostgreSQL 数据库高可用方案

    本章将详细介绍如何实现PostgreSQL数据库的高可用方案。...所以本书不再介绍“基于改造PostgreSQL源码的高可用方案”。 服务的可靠性设计 主备方式的高可用方案是通过主备之间的数据同步来实现的,数据同步有异步和同步两种方式。...DRBD是通过用软件实现的、无共享的、服务器之间块设备内容的复制软件。 DRBD有以下两种模式。 单主模式:只有主设备可以写,备设备不可以写。 双主模式:两个设备都可以读写。...不过相对于流复制,手工复制归档文件同步可以做到更灵活,若需要备库落后主库一段时间来防止人工误删除等逻辑错误,可以写一个脚本,使其每过一段时间才把主库上的归档拷贝到备库上,让备库应用这些日志,这样就可以保证备库一定是落后主库一定时间的...Repmgr 是一款开源的基于postgres复制基础上的高可用软件,他基于2ndQuadrant 公司开发而来,提供完整的基于从安装到部署,从设置到管理以及监控的一体化的postgresql 高可用方案

    2.2K30

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

    PostgreSQL 高可用数据库的常见搭建方式主要有两种逻辑复制和物理复制,上周已经写过了关于在Windows环境搭建PostgreSQL逻辑复制的教程,这周来记录一下 物理复制的搭建方法。...首先介绍一下逻辑复制和物理复制的一些基本区别: 物理复制要求多个实例之间大版本一致,并且操作系统平台一致,如主实例是 Windows环境下的 PostgreSQL15 则 从实例也必须是这个环境和版本,...逻辑复制则没有要求。...物理复制不需要像逻辑复制一些去手动的建立数据库,数据表,因为物理复制是直接恢复WAL所以包含了DDL操作,逻辑复制则需要自己进行DDL操作。...关于 Windows 系统 PostgreSQL 的安装方法可以直接看之前的博客 Windows 系统 PostgreSQL 手工安装配置方法 如果追求高性能,高一致性的数据库复制备份方案建议采用物理复制方式

    72910

    POSTGRESQL PG VS SQL SERVER 到底哪家强? (译) 应该是目前最全面的比较

    可以通过调整SQL Server的排序设置来更改大小写敏感性。大小写敏感性的排序设置可以在数据库或列级别设置。...Compare replication in PostgreSQL vs. MSSQL 中文:两种数据库的复制功能比较 遵循发布和订阅模型。...这种复制方法称为逻辑复制,因为更改基于数据的复制标识符(例如,主键)而不是其物理位置。物理复制处理文件和目录,不考虑这些物理位置中的内容。...合并复制,用于服务器到客户端的环境或可能发生冲突情况下,数据可以在发布服务器或订阅服务器上更改并跟踪,之后进行同步; 快照复制,用于数据更新不频繁或不需要以增量方式更改的情况,将数据完全复制,就像它在特定时刻一样...这些触发器无论受影响的行数如何,都会在事件上触发。 DDL触发器:用于数据定义语言(DDL)事件,例如CREATE、DROP或ALTER语句。

    2.5K20

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

    该新功能允许从待命服务器进行逻辑复制,用户可以: 从只读的待命服务器创建逻辑解码 减轻主服务器的工作负载 采用新的方式为需要在多个系统之间进行数据同步或审核的应用程序提供高可用性 第二个相关且令人兴奋的新功能是...我将演示一个示例模式和数据库设置,并提供一些用于从待命服务器创建逻辑复制的示例设置和代码。...Background on replication 在高层次上,PostgreSQL支持两种主要类型的复制:流式/物理复制逻辑复制。...在我们的数据仓库报表PostgreSQL服务器上,订阅了我们现在的主服务器,对库存表的更改出现了,而不需要采取任何其他操作(确保您要逻辑复制的表设置了REPLICA IDENTITY): SELECT...由于PostgreSQL社区的出色工作,在PG 16中,备服用户将能够: 创建逻辑复制槽 启动逻辑解码 订阅备库的更改 故障切换后持久化逻辑复制槽 备库将能够作为逻辑复制订阅者的源进行服务,只需进行很少的更改

    83940

    PostgreSQL复制搭建和原理理解

    和MYSQL 不同,MYSQL的复制是基于逻辑复制,而PG 具有流复制逻辑复制两个功能。...那使用这个功能对我们有什么好处 1 它是一个内建功能 2 连接的方式是通过 wal ahead log 的方式 3 没有特别的硬件需求 4 对主机的运行基本没有影响 5 可以设置数据的同步和异步 6...Standy 库是可以进行只读的活动 读完上面的点,发现通过流的方式复制其实比逻辑复制好的地方,就是1 没有事务冲突 2 不会有事务较大,造成延迟的问题 3 数据在切换过程中,不会有数据丢失的担心...同时我们可以通过 sent_lsn, write_lsn,flush_lsn, replay_lsn, 来判断我们的复制的状态如何。 3 PG 的复制中,可以是多从的结构。...说完这些,需要探讨配置流复制中的参数了 首先要打开 POSTGRESQL复制 1 wal_level = replica 确定写入WAL 的信息的多少, 如果想调整这个参数,需要在开启服务前就进行设置

    2.7K31

    PostgreSQL基础(十三):PostgreSQL备份和恢复实战操作

    PostgreSQL备份和恢复实战操作一、逻辑备份与恢复PostgreSQL提供了pg_dump以及pg_dumpall的命令来实现逻辑备份。这两命令差不多,看名字猜的。...,以及恢复数据的方式第四步:启动postgresql服务systemctl start postgresql-12第五步:启动后,发现查询没问题,但是执行写操作时,出错,不让写。...2.5、查看归档日志,找到指定的事务id查看归档日志,需要基于postgresql提供的一个命令# 如果命令未找到,说明两种情况,要么没有这个可执行文件,要么是文件在,没设置环境变量# 咱们这是后者pg_waldump...# 也可以采用全路径的方式/usr/pgsql-12/bin/pg_waldump2.6、修改data目录下的恢复数据的方式修改postgresql.auto.conf文件将之前的最大恢复,更换为指定的事务...id恢复基于提供的配置例子,如何指定事务id​修改postgresql.auto.conf文件指定好事务ID2.7、启动postgreSQL服务,查看是否恢复到指定事务ID2.8、记得执行会后的函数,避免无法执行写操作

    48410
    领券