You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GCP数据库迁移服务迁移Cloud SQL PostgreSQL指定数据库

仅迁移Cloud SQL PostgreSQL单个数据库的解决方案

GCP Database Migration Service本身不支持直接选择单个数据库迁移,默认会同步源实例除template0、template1外的所有库。要实现只迁特定库,你可以试试这几种方法:

方法1:清理源实例后再迁移

这种方式适合可以临时修改源实例的场景:

  • 先给源Cloud SQL实例做全量备份,防止误操作丢数据
  • 登录源实例,删除所有不需要迁移的数据库(别碰template0和template1)
  • 用Database Migration Service正常执行迁移,此时只会同步剩下的目标数据库
  • 迁移完成后,从之前的备份恢复源实例里被删除的其他数据库

方法2:用pg_dump/pg_restore手动迁移(推荐)

这种方式不需要改动源实例,灵活性更高:

  • 在本地机器或GCE实例上,用pg_dump导出目标数据库:
    pg_dump -h <源实例公网IP> -U <数据库用户名> -d <要迁移的数据库名> -f target_db_dump.sql
    
  • 把导出的target_db_dump.sql上传到Cloud Storage(本地可以用gsutil cp target_db_dump.sql gs://你的存储桶路径/)
  • 在目标Cloud SQL实例上,通过命令行或控制台导入备份文件:
    gcloud sql import sql <目标实例名称> gs://你的存储桶路径/target_db_dump.sql --database=<目标数据库名> --user=<数据库用户名>
    
  • 如果需要后续增量同步,可以启用PostgreSQL的逻辑复制:在源库创建针对目标数据库的发布,目标库创建订阅,实现实时同步

方法3:全量迁移后清理目标实例

如果可以接受先同步所有库再清理:

  • 先用Database Migration Service完成全量迁移
  • 登录目标Cloud SQL实例,删除不需要的数据库:
    DROP DATABASE <多余的数据库名>;
    
  • 要是有增量同步任务,先暂停DMS任务,删完再重启,避免后续同步又重建这些多余的库

内容的提问来源于stack exchange,提问作者marian.vladoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 14:50:31