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

GitLab从14.0.5升级至15.0.4时遭遇数据库迁移错误求助

GitLab 14.0.5 升级至15.0.4 迁移错误解决

问题场景

从GitLab 14.0.5升级到15.0.4时,执行gitlab-rake reconfigure触发数据库迁移报错;单独执行gitlab-rake db:migrate时,出现以下PostgreSQL错误:

pg::duplicateschema: error: schema "gitlab_partitions_dynamic" already exists

环境信息:Ubuntu 20.04 x86_64、Ruby 2.7.5p203

解决方案

该错误源于GitLab 15.x版本的数据库迁移会自动创建gitlab_partitions_dynamic分区schema,但此前迁移中断导致该schema已存在,后续迁移无法重复创建。按以下步骤处理:

  1. 进入GitLab PostgreSQL控制台
    执行命令切换到GitLab管理的PostgreSQL实例:

    gitlab-psql -d gitlabhq_production
    
  2. 验证schema存在性
    在PostgreSQL控制台中执行查询,确认schema确实存在:

    SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'gitlab_partitions_dynamic';
    

    返回结果包含该schema则继续下一步。

  3. 删除重复的schema
    若该schema为空(无关联表),直接执行删除命令:

    DROP SCHEMA gitlab_partitions_dynamic;
    

    若schema内存在表,建议先备份该schema(pg_dump -n gitlab_partitions_dynamic gitlabhq_production > schema_backup.sql),确认表无业务价值后再删除。

  4. 重新执行数据库迁移
    退出PostgreSQL控制台(输入\q回车),执行迁移命令:

    gitlab-rake db:migrate
    

    迁移完成后,重新运行配置命令:

    gitlab-rake reconfigure
    

额外排查建议

  • 若迁移仍失败,查看GitLab迁移日志获取详细错误:
    cat /var/log/gitlab/gitlab-rails/migration.log
    
  • 升级前务必完成GitLab数据备份:
    gitlab-backup create
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:48:05