检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
PostgreSQL->PostgreSQL实时同步 任务启动失败报错,关键词“Initialize logical replication stream failed, the source database may have a long transaction: ****.”
RDS实例场景源库信息 表10 RDS实例场景源库信息 参数 描述 数据库类型 选择“RDS实例”。 数据库实例名称 选择待同步的关系型PostgreSQL数据库实例作为源数据库实例。 数据库用户名 源数据库实例的用户名。 数据库密码 源数据库的用户名所对应的密码。 图7 目标库信息 表11 目标库信息
本地PostgreSQL同步到RDS for PostgreSQL 数据复制服务(Data Replication Service,简称DRS)支持将本地PostgreSQL数据库的数据同步至云数据库RDS for PostgreSQL实例。通过DRS提供的实时同步任务,实现在数
触发器。 可登录至目标库RDS for PostgreSQL,执行如下SQL查看session_replication_role参数值: show session_replication_role; 解决方案 在目标库RDS for PostgreSQL控制台修改session_
将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版本)
场景二:RDS实例源库信息配置 图6 RDS实例场景源库信息 表5 RDS实例场景源库信息 参数 描述 源库类型 选择“RDS实例”。 数据库实例名称 选择待同步的关系型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 PostgreSQL实时同步至本云云数据库PostgreSQL。 其他云内云主机自建的PostgreSQL数据库实时同步至本云云数据库PostgreSQL。
目标库未提前创建表结构依赖的函数。DRS PostgreSQL->PostgreSQL表级同步场景下,不支持函数和插件对象的同步,所以需要手动在目标库创建表结构依赖的函数。 可登录至目标库RDS for PostgreSQL的相应库(database),执行如下SQL查看对应函数是否存在,其中f_name为对应函数名称:
PostgreSQL->GaussDB 表1 数据类型映射关系 数据类型(PostgreSQL) 数据类型(GaussDB) 是否支持映射 SMALLINT SMALLINT 支持 INTEGER INTEGER 支持 BIGINT BIGINT 支持 INTEGER INTEGER
将MySQL同步到PostgreSQL 支持的源和目标数据库 表1 支持的数据库 源数据库 目标数据库 本地自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) ECS自建MySQL数据库(MySQL 5.5、5.6、5.7、8.0版本) 其他云上MySQL数据库(MySQL
Oracle->PostgreSQL Oracle->PostgreSQL社区版数据映射关系 表1 数据类型映射关系 数据类型(Oracle) 数据类型(PostgreSQL社区版) 是否支持映射 CHAR CHAR 支持 VARCHAR VARCHAR 支持 VARCHAR2 VARCHAR
了A表。 解决方案 清空目标库数据。 重新创建DRS同步任务,选择待同步对象及其关联对象。 启动同步任务。 父主题: PostgreSQL->PostgreSQL实时同步
辑复制槽的创建,进而引发任务失败。 在任务启动后,仅支持以下版本的源库发生主备倒换:源库为RDS for PostgreSQL 12.6及以上的小版本、RDS for PostgreSQL 13及以上版本的所有小版本。 由于长事务导致的创建逻辑复制槽失败或逻辑复制槽不存在的问题,需要通过重置任务来重新启动。
者在目标库执行失败。 全量同步过程中,DRS会向目标库PostgreSQL写入大量数据,会导致PostgreSQL的wal日志量急剧增长,PostgreSQL的磁盘有被写满的风险。可以通过在全量同步前关闭PostgreSQL的日志备份功能,减少wal日志的生产,同步完成后再将其打
重新创建DRS同步任务进行同步,并确保全量同步期间,源库不执行DDL,且目标库无写入,否则可能导致数据不一致或同步失败。 父主题: PostgreSQL->PostgreSQL实时同步
请联系客户确认是否可以换成其他的区域类型(默认UTF-8),区域类型可能会影响不同语言的排序规则。如果可以换成UTF-8,请联系华为工程师处理。 父主题: PostgreSQL->PostgreSQL实时同步
重新创建DRS同步任务进行同步,并确保全量同步期间,源库不执行DDL,且目标库无写入,否则可能导致数据不一致或同步失败。 父主题: PostgreSQL->PostgreSQL实时同步
使用root用户登录目标库RDS for PostgreSQL的相应库(database)。 执行如下SQL,安装postgis插件。 create extension "postgis"; 重试DRS任务。 父主题: PostgreSQL->PostgreSQL实时同步
任务状态正常,该报错为日志中显示,无需处理。 任务状态异常,执行2。 在管理控制台右上角,选择“工单 > 新建工单”,联系客服解决。 父主题: PostgreSQL->PostgreSQL实时同步