温馨提示×

GitLab在Linux中的数据库选择建议

小樊
41
2025-11-04 18:39:36
栏目: 智能运维

GitLab在Linux环境中的数据库选择建议

1. 唯一官方支持的数据库:PostgreSQL

自GitLab 12.1版本起,GitLab不再支持MySQL/MariaDB作为后端存储PostgreSQL成为唯一官方推荐的数据库。PostgreSQL是GitLab的默认集成数据库(随Omnibus GitLab包自动安装),其与GitLab的兼容性经过严格测试,能完美支持GitLab的所有核心功能(如代码托管、CI/CD、问题跟踪等)及高级特性(如复杂查询、事务处理、数据分区等)。

2. PostgreSQL的版本要求

为确保稳定性和功能兼容性,需使用GitLab支持的PostgreSQL版本:

  • GitLab 13.0及以上版本不再支持PostgreSQL 9.6和10(因缺少分区等功能);
  • 推荐使用PostgreSQL的最新稳定版本(如GitLab 16.0+推荐PostgreSQL 15+),以利用性能优化和新特性。

3. PostgreSQL的配置注意事项

  • 扩展要求:必须为GitLab数据库加载pg_trgm(支持全文搜索)和btree_gist(支持索引)扩展,否则会导致功能异常;
  • 存储要求:运行PostgreSQL的服务器需预留至少5-10GB存储空间(具体取决于用户数量和仓库大小),建议使用SSD(提升IO性能,减少响应延迟);
  • 字符集与排序规则:避免在不同操作系统版本间移动PostgreSQL数据文件(如升级Linux发行版),防止因语言环境不兼容导致索引损坏。

4. 不再支持的数据库:MySQL/MariaDB

GitLab 12.1及以上版本已移除对MySQL/MariaDB的支持,现有使用MySQL/MariaDB的GitLab实例需在升级前迁移至PostgreSQL(可通过gitlab-rake db:migrate命令完成数据迁移),升级后无法再回退到MySQL/MariaDB。

5. 其他数据库选项(非官方支持)

MongoDB等NoSQL数据库虽能处理非结构化数据,但GitLab未对其进行官方适配,无法保证与GitLab核心功能的兼容性(如代码托管、CI/CD流水线等),不建议作为生产环境使用。

0