tencent cloud

云数据库 PostgreSQL

动态与公告
产品动态
产品简介
产品概述
产品特性
产品优势
应用场景
信息安全说明
地域和可用区
产品功能列表
大版本生命周期说明
MSSQL 兼容版
产品计费
计费概述
实例类型与规格
购买方式
退费说明
欠费说明
备份空间收费说明
快速入门
创建 PostgreSQL 实例
连接 PostgreSQL 实例
管理 PostgreSQL 实例
数据导入
通过 DTS 迁移数据
内核能力介绍
内核版本概述
内核版本更新动态
查看内核版本
自研内核功能介绍
数据库审计
审计服务说明
开通审计服务
查看审计日志
修改审计服务
审计性能说明
用户指南
实例管理
升级实例
CPU 弹性扩容
只读实例
账号管理
数据库管理
参数管理
日志管理及分析
备份与恢复
数据迁移
插件管理
网络管理
访问管理
数据安全
租户及资源隔离
安全组
监控与告警
标签
AI 实践
使用 tencentdb_ai 插件调用大模型
使用 tencentdb_ai 插件构建 AI 应用
结合 Supabase 快速构建基于云数据库 PostgreSQL 的后端服务
实践教程
跨库访问
如何在 PostgreSQL 中自动创建分区
基于 pg_roaringbitmap 实现超大规模标签查找
一条 SQL 实现查询附近的人
如何配置云数据库 PostgreSQL 作为 GitLab 外部数据源
通过 cos_fdw 插件支持分级存储能力
通过 pgpool 实现读写分离
通过 auto_explain 插件实现慢 SQL 分析
使用 pglogical 进行逻辑复制
使用 Debezium 采集 PostgreSQL 数据
在 CVM 本地搭建 PostgreSQL 异地灾备环境
只读实例与只读组实践教程
如何使用云函数定时操作数据库
表膨胀处理
性能白皮书
测试方法
测试结果
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Read-Only Instance APIs
Backup and Recovery APIs
Parameter Management APIs
Security Group APIs
Performance Optimization APIs
Account APIs
Specification APIs
Network APIs
Data Types
Error Codes
常见问题
相关协议
Service Level Agreement
Terms of Service
词汇表
联系我们

增量迁移预检查

PDF
聚焦模式
字号
最后更新时间: 2025-04-30 17:58:24

检查详情

当迁移类型选择增量迁移时,需要对如下条件进行检查,否则校验失败。
源库的 wal_level 必须为 logical
源库 max_replication_slotsmax_wal_senders 参数需要大于待迁移的库总数(保留额外连接数)。
源库待迁移表中 persistence 属性必须为 p(永久表),否则不支持 replication,故而也无法做逻辑迁移。
待迁移表中不能存在 unlogged table,否则无法迁移。
建议迁移有主键的表,否则会出现数据结果不一致,不建议用户迁移无主键表。
如果待迁移的表无主键,且不含可复制标识(即 REPLICA IDENTITY 属性设置为 NOTHING),则校验任务报警告。
如果待迁移的表无主键,并且包含无法使用 = 操作符的字段类型(json/point/polygon/txid_snapshot/xml),则校验失败,需要按照提示修复无主键的表,或者取消勾选主键表,否则无法继续任务。

修复方法

修改 wal_level/max_replication_slots/max_wal_senders 参数

修改参数 wal_levelmax_replication_slotsmax_wal_senders 的方法如下。
1. 登录源数据库。
说明:
如源数据库为自建数据库,需要登录至数据库的运行服务器上,进入数据库数据主目录中,一般为 $PGDATA。
如源数据库为其他云数据库,请使用相关云平台的参数修改方法。
如需要修改目标实例的参数,请通过 在线支持 处理。
2. 通常进入 postgresql.conf 文件中,打开此文件,修改对应参数。
wal_level = logical
max_replication_slots = 10 //根据实际情况修改
max_wal_senders = 10 //根据实际情况修改
3. 修改完成后,重启数据库实例。
4. 登录至数据库实例中,使用以下命令查看参数值是否设置正确:
postgres=> select name,setting from pg_settings where name='wal_level';
name | setting
-----------+---------
wal_level | logical
(1 row)
postgres=> select name,setting from pg_settings where name='max_replication_slots';
name | setting
-----------------------+---------
max_replication_slots | 10
(1 row)
postgres=> select name,setting from pg_settings where name='max_wal_senders';
name | setting
-----------------+---------
max_wal_senders | 10
(1 row)
5. 重新执行校验任务。

修改待迁移表的 REPLICA IDENTITY 属性

一般不建议迁移无主键的表,可能会导致数据结果不一致。如果待迁移的表无主键,且不含可复制标识(即 REPLICA IDENTITY 属性设置为 NOTHING),则校验任务报警告。
出现警告,建议用户参考如下方法修改表的属性参数。
ALTER TABLE schemaName.tableName REPLICA IDENTITY FULL;


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈