数据迁移
如果需要把数据从文档型数据库迁移到 PostgreSQL 数据库的 Document 能力中,可以按如下方式操作。pgdoc 不会自动搬迁文档型数据库中的既有数据。
文档型数据库 --导出--> 中间数据文件(JSON / EJSON) --导入--> PostgreSQL 数据库
迁移期间建议暂停写入,避免两边数据不一致;同时保留原文档型数据库的数据作为回滚依据,确认业务在 PostgreSQL 上运行正常后,再决定是否下线原有数据。
迁移完成后,启用 pgdoc 即可让请求由 PostgreSQL 接管。
从文档型数据库导出数据
- 通过控制台对目标集合执行导出
- 或使用 SDK / HTTP API 遍历集合,把文档导出为 JSON 文件
- 导出格式沿用文档型数据库的 JSON 表达(EJSON),可保留
ObjectId、日期等类型信息
💡 提示:建议按集合逐个导出,便于导入阶段分批校验与定位问题。
导入 PostgreSQL 数据库
把导出的数据导入 PostgreSQL 数据库,可按数据量与运维要求选择方式:
| 方式 | 适用场景 |
|---|---|
| DMC 导入 | 少量集合、开发测试、人工操作 |
| SQL / 脚本导入 | 结构与数据初始化,过程可控、可审计 |
| 业务脚本批量写入 | 需要在导入时清洗或转换字段结构 |
单个导入批次不超过 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;