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

使用DMS迁移Aurora PostgreSQL到CloudSQL报错:无法删除postgres库

问题分析与解决方案

1. 明确操作对象

这个报错是针对目标端Google Cloud SQL的postgres数据库,而非源端Aurora:

  • 你的源端DMS账号仅拥有SELECT权限,根本没有DROP DATABASE权限,不可能对源端执行删除操作;
  • Cloud SQL的迁移任务在初始化逻辑复制(尤其是基于pglogical的场景)时,会尝试重置目标端的默认postgres库来同步环境,但该库作为系统默认库,通常会被Cloud SQL内部监控进程、默认管理连接占用,导致无法删除。

2. 具体解决步骤

  • 排除系统库的迁移范围:
    创建迁移任务时,不要选择默认的postgres库,仅勾选你需要迁移的业务数据库/schema。Cloud SQL迁移任务默认可能包含所有库(包括系统库),这是触发该报错的核心原因。
  • 强制断开目标端postgres库的连接:
    在启动迁移任务前,通过Cloud SQL的SQL客户端执行以下命令,终止postgres库的所有非当前连接:
    SELECT pg_terminate_backend(pid) FROM pg_stat_activity 
    WHERE datname = 'postgres' AND pid <> pg_backend_pid();
    
    注意:Cloud SQL的内部监控进程可能会快速重连,建议执行该命令后立即启动迁移任务。
  • 确认目标端权限配置:
    Cloud SQL通常会自动分配拥有足够权限的内部迁移账号,无需手动配置;如果使用自定义账号,需确认其拥有CREATE DATABASE、DROP DATABASE等必要权限。

3. 额外提示

  • 迁移测试连接时的「部分表无主键」提示不影响任务启动,但会降低增量复制的效率,建议后续为这些表添加主键;
  • 无需更换目标端PostgreSQL版本,当前13.x版本与源端兼容,版本差异不是问题根源。

内容的提问来源于stack exchange,提问作者Phil Taylor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 21:40:35