GitLab在Linux环境中的数据库选择建议
自GitLab 12.1版本起,GitLab不再支持MySQL/MariaDB作为后端存储,PostgreSQL成为唯一官方推荐的数据库。PostgreSQL是GitLab的默认集成数据库(随Omnibus GitLab包自动安装),其与GitLab的兼容性经过严格测试,能完美支持GitLab的所有核心功能(如代码托管、CI/CD、问题跟踪等)及高级特性(如复杂查询、事务处理、数据分区等)。
为确保稳定性和功能兼容性,需使用GitLab支持的PostgreSQL版本:
pg_trgm(支持全文搜索)和btree_gist(支持索引)扩展,否则会导致功能异常;GitLab 12.1及以上版本已移除对MySQL/MariaDB的支持,现有使用MySQL/MariaDB的GitLab实例需在升级前迁移至PostgreSQL(可通过gitlab-rake db:migrate命令完成数据迁移),升级后无法再回退到MySQL/MariaDB。
MongoDB等NoSQL数据库虽能处理非结构化数据,但GitLab未对其进行官方适配,无法保证与GitLab核心功能的兼容性(如代码托管、CI/CD流水线等),不建议作为生产环境使用。