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