구성요소(Components) 요구사항
GitLab 구성요소가 최적의 성능으로 작동하기 위해서는 각 구성요소별로 버전 및 설정 권장사항을 따르는 것이 좋습니다.
데이터베이스
PostgreSQL은 Omnibus GitLab 패키지와 함께 번들로 제공되는 유일하게 지원되는 데이터베이스입니다. 외부 PostgreSQL 데이터베이스를 사용할 수도 있습니다. MySQL에 대한 지원은 GitLab 12.1에서 제거되었습니다. MySQL/MariaDB와 함께 GitLab을 사용하는 기존 사용자는 업그레이드하기 전에 PostgreSQL로 마이그레이션하는 것이 좋습니다.
PostgreSQL 요구사항
정확한 요구사항은 사용자 수에 따라 다르지만, PostgreSQL을 실행하는 서버에는 최소 5~10GB의 스토리지를 사용할 수 있어야 합니다.
개발 및 테스트에 사용된 최소 PostgreSQL 버전(다음 표에 명시된 대로)을 사용하는 것이 좋습니다.
GitLab 버전 | 최소 PostgreSQL 버전 |
---|---|
13.0 | 11 |
14.0 | 12 |
또한 다음 익스텐션(Extension)이 GitLab 데이터베이스에 모두 로드되었는지 확인해야 합니다. 이 요구사항 및 트러블슈팅에 대해 자세히 알아보세요.
익스텐션 | 최소 GitLab 버전 |
---|---|
pg_trgm | 8.6 |
btree_gist | 13.1 |
plpgsql | 11.7 |
PostgreSQL 9.6 및 10에 대한 지원이 GitLab 13.0에서 제거되어 GitLab은 파티셔닝(Partitioning)과 같은 PostgreSQL 11 개선사항의 이점을 누릴 수 있습니다. PostgreSQL 12로의 전환 일정은 관련 에픽을 참조하세요.
GitLab Geo에 대한 추가 요구 사항
GitLab Geo를 사용하는 경우 Omnibus GitLab 관리형 인스턴스를 실행하는 것이 좋습니다. 이를 기반으로 적극적으로 개발 및 테스트하기 때문입니다. GitLab 팀은 대부분의 외부(Omnibus GitLab에서 관리하지 않음) 데이터베이스(예: AWS Relational Database Service(RDS))와 호환되도록 노력하고 있지만 호환성을 보장할 수 없습니다.
Gitaly 클러스터 데이터베이스 요구 사항
자세한 내용은 Gitaly Cluster 문서를 참조하세요.
GitLab 데이터베이스의 독점적인 사용
GitLab, Geo, Gitaly Cluster 또는 기타 구성요소를 위해 생성되거나 사용되는 데이터베이스는 GitLab 전용이어야 합니다. GitLab 설명서의 절차를 따르거나 GitLab 지원팀 또는 GitLab 엔지니어의 지시를 따르는 경우를 제외하고 데이터베이스, 스키마, 사용자 또는 기타 속성을 직접 변경하지 마십시오.
- 주요 GitLab 애플리케이션은 현재 세 가지 스키마를 사용합니다.
- 기본
public
스키마 gitlab_partitions_static
(자동 생성)gitlab_partitions_dynamic
(자동 생성) 다른 스키마는 수동으로 생성하면 안 됩니다.
- 기본
- GitLab은 Rails 데이터베이스 마이그레이션의 일부로 새 스키마를 생성할 수 있습니다. 이것은 GitLab 업그레이드를 수행할 때 발생합니다. 이 작업을 수행하려면 GitLab 데이터베이스 계정에 액세스 권한이 필요합니다.
- GitLab은 업그레이드 프로세스 중에 테이블을 생성하고 수정하며, 파티션 된 테이블을 관리하기 위한 일반 작업의 일부로도 사용됩니다.
- GitLab 스키마를 수정하면 안 됩니다.(예: 트리거 추가 또는 테이블 수정) 데이터베이스 마이그레이션은 GitLab 코드베이스의 스키마 정의에 대해 테스트됩니다. 스키마를 수정하면 GitLab 버전 업그레이드가 실패할 수 있습니다.