跳到主要内容

数据迁移

如果需要把数据从文档型数据库迁移到 PostgreSQL 数据库的 Document 能力中,可以按如下方式操作。pgdoc 不会自动搬迁文档型数据库中的既有数据。

文档型数据库 --导出--> 中间数据文件(JSON / EJSON) --导入--> PostgreSQL 数据库

迁移期间建议暂停写入,避免两边数据不一致;同时保留原文档型数据库的数据作为回滚依据,确认业务在 PostgreSQL 上运行正常后,再决定是否下线原有数据。

迁移完成后,启用 pgdoc 即可让请求由 PostgreSQL 接管。

从文档型数据库导出数据​

  • 通过控制台对目标集合执行导出
  • 或使用 SDK / HTTP API 遍历集合,把文档导出为 JSON 文件
  • 导出格式沿用文档型数据库的 JSON 表达(EJSON),可保留 ObjectId、日期等类型信息

💡 提示:建议按集合逐个导出,便于导入阶段分批校验与定位问题。

导入 PostgreSQL 数据库​

把导出的数据导入 PostgreSQL 数据库,可按数据量与运维要求选择方式:

方式适用场景
DMC 导入少量集合、开发测试、人工操作
SQL / 脚本导入结构与数据初始化,过程可控、可审计
业务脚本批量写入需要在导入时清洗或转换字段结构

导入的具体操作请参考 导入数据 与 DMC 数据库管理。

单个导入批次不超过 1000 条,超过时按批拆分,避免整批失败后回退重来。

⚠️ 注意:文档型数据库中的文档结构与 PostgreSQL 的表结构并非一一对应。导入前需要先确定映射关系——哪些集合落成表、哪些字段落成列或 jsonb 字段,再执行导入。

导入的目标 schema 应为 pgdoc_data,参见数据的存放位置。

导入完成后建议抽样校验:

select count(*) from pgdoc_data.<your_collection>;
select * from pgdoc_data.<your_collection> order by created_at desc limit 10;