PostgreSQL实例间的双向同步 操作步骤 1、购买DTS数据同步实例。 在管理控制台点击“创建实例”进入订购页面,“实例类型”选择“数据同步”,“目标库实例”的“数据库类型”选择PostgreSQL,选择实例,选择网络接入类型等,完成其他信息的填写并完成购买。 2、进入实例配置页面。 DTS实例购买成功后,进入【数据迁移】实例列表页面,上一步骤购买成功的实例在实例列表中显示状态为“待配置”,进入实例配置页面的操作分两种情况: 当DTS实例的网络接入类型为“公网EIP”时,请先点击“绑定弹性IP”按钮完成公网弹性IP的绑定,然后点击该实例操作列的“实例配置”按钮。 当DTS实例网络接入类型为“VPC网络”时,直接点击该实例操作列的“实例配置”按钮。 3、配置源库及目标库信息。 进入实例配置第一个步骤的【配置源库及目标库信息】页面,填入源库与目标库的相关配置信息,源库数据库类型选择PostgreSQL,完成IP地址端口、数据库账号、数据库密码等信息的填写。 完成上述信息的填写后可以进行数据库的连接测试,测试数据库能否正常连接。 4、配置同步对象及高级配置。 源库和目标库连通性测试成功后,点下一步按钮,进入实例配置第二个步骤的【配置同步对象及高级配置】页面,同步拓扑选择“双向同步",冲突修复策略按需进行选择,冲突修复策略参见本文冲突检测章节内容;支持逻辑解码插件的选择:目前逻辑解码插件支持“decoderbufs”和“pgoutput”,默认勾选“decoderbufs”。 5、预检查。 点击“下一步预检查”,进入【预检查】页面。预检查会检查如下列表信息,并给出检查结果,用户可以依据检查结果进行下一步操作。 方向 检查项 检查内容 正向预检查 lcmonetary参数配置一致性检查 检查源库与目标库的lcmonetary参数配置是否一致。 正向预检查 pg版本检查 检查源库和目标库的pg版本是不是符合要求。 正向预检查 同名对象存在性检查 检查目标库中是否存在和待迁移库同名的待迁移对象。 正向预检查 扩展插件兼容性检查 检查源库中安装的扩展插件,在目标库是否存在。 正向预检查 检查hotstandbyfeedback参数配置 全量同步源库pg为备节点时,hotstandbyfeedback参数需配置为ON。 正向预检查 源库用户权限检查 检查源库用于DTS任务的用户是否具有相应的权限。 正向预检查 源库连通性检查 检查数据传输服务器能否连通源数据库。 正向预检查 源数据库的模式名表名是否合法 检查源数据库的模式名表名是否合法,名称不可以包含+"%'<>,.字符。 正向预检查 源库参数wallevel是否为logical 勾选增量同步时,检查源库wallevel参数值是否为logical。 正向预检查 目标库用户权限检查 检查目标库用于DTS任务的用户是否具有相应的权限。 正向预检查 目标库连通性检查 检查数据传输服务器能否连通目标数据库。 正向预检查 源库参数maxreplicationslots校验 勾选增量同步时,检查源库maxreplicationslots参数值是否大于当前已使用的复制槽数量。 正向预检查 源库参数maxwalsenders校验 勾选增量同步时,检查源库maxwalsenders参数值是否大于当前已使用的复制槽数量。 正向预检查 逻辑解码插件安装校验 勾选增量同步时,如果逻辑解码器为decoderbufs,检查源库是否安装逻辑解码插件decoderbufs。 正向预检查 待同步表是否存在主键检查 勾选增量同步时,检查待同步表中是否存在无主键的表。 正向预检查 无日志表存在性检查 勾选增量同步时,检查当前选择的待同步对象中的表是否存在无日志表。 正向预检查 源库主备状态检查 勾选增量同步时,检查源库是否为集群中的主库。 正向预检查 ddl同步元数据检查 勾选ddl同步时,检查源库是否有ddl同步所需的元数据对象。 反向预检查 待同步表REPLICAIDENTITY模式检查 检查待同步表REPLICAIDENTITY值是否都为FULL。 反向预检查 无日志表存在性检查 校验待同步对象中是否存在无日志表。 反向预检查 校验源库参数wallevel是否为logical 校验源库参数wallevel是否为logical。 反向预检查 源库主备状态检查 勾选增量时,源库pg必须为主节点。 反向预检查 源库参数maxreplicationslots校验 源库“maxreplicationslots”参数值必须大于当前已使用的复制槽数量。否则,可能导致同步失败。 反向预检查 源库参数maxwalsenders校验 源数据库“maxwalsenders”参数值必须大于当前已使用的复制槽数量。否则,可能会导致同步失败。 反向预检查 源库用户权限检查 检查源库用于DTS任务的用户是否具有相应的权限。 反向预检查 目标库用户权限检查 检查目标库用于DTS任务的用户是否具有相应的权限。 反向预检查 逻辑解码插件安装校验 如果逻辑解码器为decoderbufs,检查源数据库是否安装逻辑解码插件decoderbufs。