GitLab在Linux中的数据库选择及要求
1. 主要支持的数据库:PostgreSQL
PostgreSQL是GitLab的官方推荐数据库,也是当前GitLab版本(截至2025年)的唯一完全支持的后端数据库。其优势包括:
- 官方集成:GitLab Omnibus包默认捆绑PostgreSQL,无需额外安装第三方数据库软件;
- 功能兼容:支持复杂查询、事务处理、高级数据类型(如JSONB),满足GitLab对数据完整性和扩展性的需求;
- 性能优化:针对GitLab的高并发场景(如代码提交、仓库克隆)进行了调优,稳定性强;
- 版本要求:需使用GitLab指定版本及以上的PostgreSQL(如GitLab 13.0及以上要求PostgreSQL 11及以上,GitLab 14.0及以上要求PostgreSQL 12及以上),避免因版本不匹配导致的功能缺失或性能问题。
2. 不再支持的数据库:MySQL/MariaDB
从GitLab 12.1版本开始,官方移除了对MySQL/MariaDB的支持,不再将其作为后端数据库选项。若仍使用MySQL/MariaDB运行旧版GitLab,需在升级前迁移至PostgreSQL,否则无法正常使用新版本功能。
3. 其他可选数据库:MongoDB(非官方推荐)
MongoDB作为NoSQL数据库,可用于存储GitLab的非结构化数据(如日志、缓存),但不支持作为主数据库(即无法替代PostgreSQL存储用户、仓库等核心数据)。其适用场景有限,仅适合需要处理大量非结构化数据的特殊需求,且需自行承担兼容性和维护成本。
4. 数据库选择的关键考虑因素
- 兼容性:优先选择PostgreSQL以确保与GitLab版本的兼容性;
- 性能需求:PostgreSQL的高并发和事务处理能力适合大多数企业级GitLab部署;
- 迁移成本:若从旧版GitLab升级,需提前确认数据库兼容性,避免因数据库更换导致的业务中断。