本页面介绍了如何确认迁移的数据完整且准确。您至少应验证迁移后的 Cloud SQL 数据库实例中是否存在您的表。
- 使用可针对迁移的数据库运行 SQL 命令的工具(例如 Google Cloud 控制台中的 Cloud SQL Studio 或
psql)连接到 Cloud SQL 实例。如需详细了解如何连接到 Cloud SQL 实例,请参阅 Cloud SQL 文档中的 连接选项。
- 运行 SQL 查询以验证迁移的数据:
列出所有数据库
运行以下查询,验证目标 Cloud SQL 实例是否包含您迁移的所有源数据库:
SELECT datname FROM pg_database WHERE datistemplate = false;
列出数据库中的所有表
运行以下查询,列出数据库中的所有用户表:
SELECT table_schema, table_name FROM information_schema.tables WHERE table_schema NOT IN ('pg_catalog', 'information_schema') AND table_type = 'BASE TABLE' ORDER BY table_schema, table_name;
检查表列定义和数据类型
运行以下查询,验证特定表的列名称、数据类型和可为 null 性:
SELECT column_name, data_type, character_maximum_length, is_nullable, column_default FROM information_schema.columns WHERE table_name = 'TABLE_NAME' ORDER BY ordinal_position;
检查表行数和示例数据
运行以下查询,验证行数并检查特定表中的示例行:
- 验证总行数:
SELECT COUNT(*) FROM TABLE_NAME;
- 查看已迁移记录的示例:
SELECT * FROM TABLE_NAME LIMIT 10;
验证主键和约束条件
运行以下查询,验证主键、外键和唯一性约束条件是否已正确创建:
SELECT table_schema, table_name, constraint_name, constraint_type FROM information_schema.table_constraints WHERE table_schema NOT IN ('pg_catalog', 'information_schema') ORDER BY table_schema, table_name, constraint_type;
验证索引
运行以下查询,验证是否已在迁移的表上创建索引:
SELECT schemaname, tablename, indexname, indexdef FROM pg_indexes WHERE schemaname NOT IN ('pg_catalog', 'information_schema') ORDER BY schemaname, tablename, indexname;
验证序列
运行以下查询,验证迁移后的数据库中是否存在序列:
SELECT sequence_schema, sequence_name, data_type FROM information_schema.sequences ORDER BY sequence_schema, sequence_name;
- 验证总行数:
- 将这些查询的结果与源数据库进行比较,确保所有对象、行数和架构结构都一致。
如果您检查的所有内容都符合预期,则表示 Database Migration Service 已正确迁移数据。