本地PostgreSQL同步到RDS for PostgreSQL 数据复制服务(Data Replication Service,简称DRS)支持将本地PostgreSQL数据库的数据同步至云数据库RDS for PostgreSQL实例。通过DRS提供的实时同步任务,实现在数
PostgreSQL->PostgreSQL实时同步 任务启动失败报错,关键词“Initialize logical replication stream failed, the source database may have a long transaction: ****.”
事件触发器:受限于目标库版本,仅目标库为RDS for PostgreSQL 11.11及以上版本时支持。 文本搜索解析器:受限于目标库版本,仅目标库为RDS for PostgreSQL 11.11及以上版本时支持。 文本搜索模板:受限于目标库版本,仅目标库为RDS for PostgreSQL 11.11及以上版本时支持。
将PostgreSQL同步到PostgreSQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 RDS for PostgreSQL(9.5、9.6、10、11、12、13、14、15、16版本) 本地自建数据库(PostgreSQL 9.5、9.6、10、11、12、13、14、15、16版本)
目标数据库的权限设置: 本云云数据库PostgreSQL使用初始账号即可。 网络准备: 源数据库所在的region要和目标端本云云数据库PostgreSQL实例所在的region保持一致。 源数据库可以与目标端本云云数据库PostgreSQL实例在同一个VPC,也可以不在同一个VPC。
触发器。 可登录至目标库RDS for PostgreSQL,执行如下SQL查看session_replication_role参数值: show session_replication_role; 解决方案 在目标库RDS for PostgreSQL控制台修改session_
本章节主要介绍了通过DRS将其他云PostgreSQL数据库实时同步至本云云数据库PostgreSQL的任务配置流程。包括以下同步场景: 其他云RDS PostgreSQL实时同步至本云云数据库PostgreSQL。 其他云内云主机自建的PostgreSQL数据库实时同步至本云云数据库PostgreSQL。
00:00:00。 YEAR类型,MySQL的支持的范围是:1901 to 2155, 和 0000,可参考MySQL的官方文档。由PostgreSQL中没有对应的类型,DRS会将MySQL的YEAR类型映射成SMALLINT类型。 对于MySQL的DATE类型的'0000'通过DRS会转换成0。
目标库未提前创建表结构依赖的函数。DRS PostgreSQL->PostgreSQL表级同步场景下,不支持函数和插件对象的同步,所以需要手动在目标库创建表结构依赖的函数。 可登录至目标库RDS for PostgreSQL的相应库(database),执行如下SQL查看对应函数是否存在,其中f_name为对应函数名称:
Oracle->PostgreSQL Oracle->PostgreSQL社区版数据映射关系 表1 数据类型映射关系 数据类型(Oracle) 数据类型(PostgreSQL社区版) 是否支持映射 CHAR CHAR 支持 VARCHAR VARCHAR 支持 VARCHAR2 VARCHAR
PostgreSQL->GaussDB 表1 数据类型映射关系 数据类型(PostgreSQL) 数据类型(GaussDB) 是否支持映射 SMALLINT SMALLINT 支持 INTEGER INTEGER 支持 BIGINT BIGINT 支持 INTEGER INTEGER
辑复制槽的创建,进而引发任务失败。 在任务启动后,仅支持以下版本的源库发生主备倒换:源库为RDS for PostgreSQL 12.6及以上的小版本、RDS for PostgreSQL 13及以上版本的所有小版本。 由于长事务导致的创建逻辑复制槽失败或逻辑复制槽不存在的问题,需要通过重置任务来重新启动。
了A表。 解决方案 清空目标库数据。 重新创建DRS同步任务,选择待同步对象及其关联对象。 启动同步任务。 父主题: PostgreSQL->PostgreSQL实时同步
重新创建DRS同步任务进行同步,并确保全量同步期间,源库不执行DDL,且目标库无写入,否则可能导致数据不一致或同步失败。 父主题: PostgreSQL->PostgreSQL实时同步
者在目标库执行失败。 全量同步过程中,DRS会向目标库PostgreSQL写入大量数据,会导致PostgreSQL的wal日志量急剧增长,PostgreSQL的磁盘有被写满的风险。可以通过在全量同步前关闭PostgreSQL的日志备份功能,减少wal日志的生产,同步完成后再将其打
重新创建DRS同步任务进行同步,并确保全量同步期间,源库不执行DDL,且目标库无写入,否则可能导致数据不一致或同步失败。 父主题: PostgreSQL->PostgreSQL实时同步
请联系客户确认是否可以换成其他的区域类型(默认UTF-8),区域类型可能会影响不同语言的排序规则。如果可以换成UTF-8,请联系华为工程师处理。 父主题: PostgreSQL->PostgreSQL实时同步
使用root用户登录目标库RDS for PostgreSQL的相应库(database)。 执行如下SQL,安装postgis插件。 create extension "postgis"; 重试DRS任务。 父主题: PostgreSQL->PostgreSQL实时同步
目标库删除表的同时,也删除了表中的数据,因此即使重新建表恢复任务,也可能导致该表数据不一致或任务再次失败。 父主题: PostgreSQL->PostgreSQL实时同步
任务状态正常,该报错为日志中显示,无需处理。 任务状态异常,执行2。 在管理控制台右上角,选择“工单 > 新建工单”,联系客服解决。 父主题: PostgreSQL->PostgreSQL实时同步
您即将访问非华为云网站,请注意账号财产安全