gitlab 使用10.7版本PostgreSql备份失败

  • Choerodon平台版本:0.16.0

  • 运行环境:自主搭建

  • 问题描述:
    定时备份 gitlab数据发现 报错

你好,谢谢你的反馈,我们现在正在查看这个问题,有新的进展将及时与你联系,谢谢。

这个问题有后续跟进吗?

你好,这个问题正在跟进,全新安装可以按照官网最新教程进行安装。已安装了10.7版本PostgreSQL的,我们还在进行数据迁移测试。

麻烦有结果 及时通知下我 谢谢了

你好,由于我们测试不到位导致出现Gitlab镜像中pg_dump与postgresql版本不匹配而无法进行备份,由此给你带来不便敬请谅解。

我们尝试了以下两种方案进行解决:

  1. 使用10.7版本pg_dump导出数据在9.6.11版本postgresql上进行恢复,然而经测试并不能将高版本的sql导入到低版本中,故放弃了此方案。

  2. 经查看Gitlab源码,其备份与恢复数据库也只是调用了pg_dump与psql,故升级镜像中pg_dump版本也可解决问题,以下为更新镜像中pg_dump版本的Dockerfile,可由此进行构建后替换原有镜像即可。

    FROM registry.cn-hangzhou.aliyuncs.com/choerodon-tools/gitlab-ce:11.6.4-ce.0
    RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list && \
        wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
        apt-get update && \
        apt-get install -y postgresql-client-10 && \
        rm -rf /var/lib/apt/lists/* && \
        ln -sf /usr/bin/pg_dump /opt/gitlab/embedded/bin/pg_dump && \
        ln -sf /usr/bin/psql /opt/gitlab/embedded/bin/psql && \
        pg_dump --version && \
        psql --version
    

    这里也有已经构建可以直接使用的镜像:setzero/gitlab-ce-work-with-mysql:11.6.4-ce.0-postgres-10

我这边测试通过了没问题的 你们也第一时间 更新下镜像,多谢了


有点费解你们这个备份为什么跳过仓库了。。。 初衷是啥?

因为随着使用频率的增加,仓库数量及存储大小也不断增加,这将导致全量备份时十分缓慢,在备份时会大量使用cpu及内存导致正常使用卡顿甚至整个gitlab无法访问,在我们的日常实践中觉得没有必要将仓库也进行全量备份,故添加了该默认值。

你可以设置变量 GITLAB_BACKUP_SKIP 自定义需要跳过的内容