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

Azure PostgreSQL服务器迁移失败:hypopg扩展权限报错求助

Azure PostgreSQL迁移hypopg扩展报错解决思路

问题定位

迁移失败核心原因:恢复hypopg扩展时,执行账号无该扩展的所有者权限,导致pg_restore退出码1;虽表数据已迁移完成,但门户判定迁移失败。

解决步骤

  • 确认迁移账号权限
    迁移所用账号需具备超级用户权限,在目标库执行:

    SELECT rolsuper FROM pg_roles WHERE rolname = '你的迁移账号';
    

    若返回false,执行授权命令:

    ALTER ROLE 你的迁移账号 WITH SUPERUSER;
    
  • 手动创建目标库的hypopg扩展
    直接在目标库手动完成扩展创建,规避迁移工具自动处理的权限问题:

    -- 若源库指定了版本,替换为对应版本号
    CREATE EXTENSION IF NOT EXISTS hypopg VERSION 'x.x.x';
    

    创建后验证:

    SELECT extname, extowner FROM pg_extension WHERE extname = 'hypopg';
    
  • 调整迁移工具参数
    若使用Azure DMS等工具,可在迁移任务设置中添加pg_restore自定义参数--no-extensions,跳过扩展恢复环节,仅迁移数据和结构,之后手动补全扩展。

  • 对齐扩展所有者(可选)
    若源库中hypopg的所有者为特定账号,可在目标库修改扩展所有者匹配:

    ALTER EXTENSION hypopg OWNER TO 目标账号;
    
  • 验证迁移完整性
    手动对比源库与目标库的表数据、索引、扩展状态,确认一致后,可忽略门户的失败提示,或重新发起仅针对扩展的迁移任务(若工具支持)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:11:07