# 前言PostgreSQL 在 9.0 之前并未支持流式复制,备库总是落后主库一个 WAL log,在 9.0 之后 PostgreSQL 提供了流式复制,备库不断从主库同步相应的数据,并应用每个 WAL record。在 PostgreSQL 9.4 开始,PostgreSQL 提供了逻辑流复制功能,至此,PostgreSQL 拥有了更加完备的数据同步方式,解决了物理流复制无法覆盖的一些场景。本章内容将介绍物理复制与逻辑复制的一些差别。## 参数配置差异我们知道在 PostgreSQL 中如果想要实...
# 前言PostgreSQL 中的逻辑流复制与消息队列中的发布者/订阅者模型非常相似,在发布者端将 WAL 日志流解析成一定格式的数据流,订阅者节点收到后进行应用,以此来达到数据同步的目的。本章内容将介绍如何使用逻辑流... postgres=# create database pubdb;CREATE DATABASEpostgres=# \c pubdbYou are now connected to database "pubdb" as user "postgres".pubdb=# create table pub_t(id int,name varchar(10));CREATE TABL...
二是可以做到实时同步。对于数据拆分的场景,由于逻辑复制的粒度可以到表级别,可以将一个数据库按照表的粒度拆分到不同的数据库实例中。## 场景二:数据库迁移PostgreSQL 提供了原生的迁移工具 pg_dump,适用于数据量小的一次性迁移,最大的缺点就是业务停机时间长,性能较差。反观逻辑复制,可以实现实时的增量迁移,业务上停机时间更短。## 场景三:数据库升级在数据库版本升级升级过程中,除了就地升级和逻辑的导入导出,由于逻辑复...
建议使用 CREATE INDEX CONCURRENTLY 方法创建索引,以避免阻塞其他会话在目标索引表上的 DML 操作。* 对于重建索引操作,在 PostgreSQL 12 及以上大版本,推荐使用 REINDEX CONCURRENTLY。PostgreSQL 11 及下大版本... 方式,提高写入速度。* 建议业务上监控 dead replication slot 并及时清理,避免 WAL 无法清理,最终导致磁盘空间耗尽导致实例只读。# 管理### 权限* 遵循最小权限原则,建议给予 schema / role 为单位进行权...
如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 在数据同步的过程中,若遇到目标库中已存在同主键或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致或任务失败等问题,具体如下所示。建议您通过表名映射的方式、删除或重命名目标库中同名表的方式避...
本文介绍如何在数据库传输服务 DTS 控制台创建公网自建 PostgreSQL 同步至火山引擎版 PostgreSQL 任务。 前提条件已注册火山引擎账号并完成实名认证。关于账号的创建方法和实名认证,请参见如何进行账号注册和实名认证。 已创建云数据库 PostgreSQL 版实例、数据库和账号。详细操作,请参见创建实例、创建数据库和账号。 已在公网环境中自行搭建 PostgreSQL 实例和数据库。 当源库部署在 IDC 或 ECS 中,且通过公网连接时,您需要...
如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 在数据同步的过程中,若遇到目标库中已存在同主键或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致或任务失败等问题,具体如下所示。建议您通过表名映射的方式、删除或重命名目标库中同名表的方式避...
本文介绍如何在数据库传输服务 DTS 控制台创建火山引擎专有网络 PostgreSQL 同步至火山引擎专有网络 PostgreSQL 任务。 前提条件已注册火山引擎账号并完成实名认证。详细操作,请参见如何进行账号注册和实名认证。 ... 建议您通过表名映射的方式、删除或重命名目标库中同名表的方式避免数据不一致等问题降低业务风险。 表结构一致时:全量同步的数据将覆盖目标表中与源库主键或唯一键的值相同的记录。 表结构不一致时:可能会导致无法...
本文介绍如何在数据库传输服务 DTS 控制台创建公网自建 PostgreSQL 同步至火山引擎专有网络 PostgreSQL 任务。 前提条件已注册火山引擎账号并完成实名认证。详细操作,请参见如何进行账号注册和实名认证。 按需设置... 建议您通过表名映射的方式、删除或重命名目标库中同名表的方式避免数据不一致等问题降低业务风险。 表结构一致时:全量同步的数据将覆盖目标表中与源库主键或唯一键的值相同的记录。 表结构不一致时:可能会导致无法...
不会被同步至目标库。 若暂时不需要启动同步任务,您可以在完成同步对象配置后,单击页面右下角的保存。保存后会跳转回同步任务列表页,此时任务状态为待启动,您可以在合适的时候再配置同步任务。配置方法,请参见配置同步任务。 在预检查时,如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 由于全量数据初始化会并发执行 INSERT 操作,导致目标库的集合产...
# 前言PostgreSQL 在 9.0 之前并未支持流式复制,备库总是落后主库一个 WAL log,在 9.0 之后 PostgreSQL 提供了流式复制,备库不断从主库同步相应的数据,并应用每个 WAL record。在 PostgreSQL 9.4 开始,PostgreSQL 提供了逻辑流复制功能,至此,PostgreSQL 拥有了更加完备的数据同步方式,解决了物理流复制无法覆盖的一些场景。本章内容将介绍物理复制与逻辑复制的一些差别。## 参数配置差异我们知道在 PostgreSQL 中如果想要实...
如果选择忽略告警并启动同步任务,可能会导致数据不一致,带来业务风险。关于预检查的具体说明,请参见预检查项(PostgreSQL)。 在数据同步的过程中,若遇到目标库中已存在同主键或唯一键的情况,DTS 不会保留目标端中冲突的数据,即源端的数据将会覆盖掉目标端的数据。当数据进行冲突覆盖时,如果目标库中存在同名表,可能会导致数据不一致或任务失败等问题,具体如下所示。建议您通过表名映射的方式、删除或重命名目标库中同名表的方式避...
本文介绍如何在数据库传输服务 DTS 控制台创建公网自建 PostgreSQL 同步至火山引擎 ECS 自建 PostgreSQL 任务。 前提条件已注册火山引擎账号并完成实名认证。关于账号的创建方法和实名认证,请参见如何进行账号注册和实名认证。 已在火山引擎版 ECS 自建 PostgreSQL 中自行搭建实例、数据库和账号。 已在公网环境中自行搭建 PostgreSQL 实例和数据库。 当源库部署在 IDC 或 ECS 中,且通过公网连接时,您需要将 DTS 的服务器 IP ...