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

GCP迁移工具密码长度限制致无法从Heroku PostgreSQL迁移数据

Heroku PostgreSQL迁移GCP CloudSQL的密码长度限制解决方案

一、调整Heroku端的数据库凭据

Heroku默认的数据库角色无法通过ALTER ROLE修改密码,因为Heroku会自动管控该角色的凭据,可通过以下方式解决:

  • 创建自定义数据库角色:在Heroku PostgreSQL实例中执行以下SQL命令,创建一个密码长度符合GCP限制的新角色,并授予对应权限:
    CREATE ROLE custom_user WITH LOGIN PASSWORD 'your_32_char_max_password';
    GRANT ALL PRIVILEGES ON DATABASE your_database_name TO custom_user;
    
    之后使用这个自定义角色的账号密码作为GCP迁移工具的源数据库连接信息。
  • 使用Heroku临时凭据:通过heroku pg:credentials:url命令生成临时连接字符串,注意临时凭据有有效期,需在有效期内完成迁移操作。

二、适配GCP迁移工具的密码限制

目前GCP CloudSQL迁移工具(控制台向导)对源数据库密码的32字符限制是固定规则,没有官方配置项可以修改这一限制,因此无法直接让GCP接受更长密码。

替代迁移方案:逻辑备份+恢复

如果上述方式仍有阻碍,可绕过GCP迁移工具,采用备份恢复的方式完成迁移:

  1. 在Heroku端生成并下载备份:
    执行命令heroku pg:backups:capture创建备份,再用heroku pg:backups:download将备份文件下载到本地。
  2. 将备份导入GCP CloudSQL:
    使用psql命令或者CloudSQL控制台的导入功能,将本地备份文件导入到目标CloudSQL实例中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:56:10