외부 PostgreSQL 서비스를 사용하여 GitLab 구성하기
클라우드 제공업체에서 GitLab을 호스팅하는 경우 PostgreSQL용 관리형 서비스를 선택적으로 사용할 수 있습니다. 예를 들어 AWS는 PostgreSQL을 실행하는 관리형 관계형 데이터베이스 서비스(RDS)를 제공합니다.
또는 Linux 패키지와 별도로 자체 PostgreSQL 인스턴스 또는 클러스터를 관리할 수 있습니다.
클라우드 관리형 서비스를 사용하거나 자체 PostgreSQL 인스턴스를 제공하는 경우:
- 데이터베이스 요구 사항 문서에 따라 PostgreSQL을 설정합니다.
- 원하는 비밀번호로
gitlab
사용자를 설정하고,gitlabhq_production
데이터베이스를 만들고, 사용자를 데이터베이스의 소유자로 설정합니다. 이러한 설정의 예는 자체 컴파일 설치 문서에서 확인할 수 있습니다. -
클라우드 관리형 서비스를 사용하는 경우,
gitlab
사용자에게 추가적인 역할을 부여해야 할 수 있습니다:- Amazon RDS는
rds_superuser
역할이 필요합니다. - Azure Database for PostgreSQL은
azure_pg_admin
역할이 필요합니다. Azure Database for PostgreSQL - Flexible Server는 설치할 수 있도록 확장 기능을 허용 목록에 추가해야 합니다. - Google Cloud SQL은
cloudsqlsuperuser
역할이 필요합니다.
이것은 설치 중 및 업그레이드 중에 확장 기능을 위한 것입니다. 대안으로, 확장 기능이 수동으로 설치되도록하고, 향후 GitLab 업그레이드 중에 발생할 수 있는 문제에 대해 읽어보세요.
- Amazon RDS는
-
/etc/gitlab/gitlab.rb
파일에서 GitLab 애플리케이션 서버를 외부 PostgreSQL 서비스에 대한 적절한 연결 세부 정보로 구성합니다:# 번들 제공되는 Omnibus PostgreSQL 비활성화 postgresql['enable'] = false # PostgreSQL 연결 세부 정보 gitlab_rails['db_adapter'] = 'postgresql' gitlab_rails['db_encoding'] = 'unicode' gitlab_rails['db_host'] = '10.1.0.5' # 데이터베이스 서버의 IP/호스트 이름 gitlab_rails['db_password'] = 'DB 비밀번호'
GitLab 멀티 노드 설정에 대한 자세한 정보는 참고 아키텍처를 참조하세요.
-
변경 사항이 적용되도록 다시 구성합니다:
sudo gitlab-ctl reconfigure
-
TCP 포트를 활성화하려면 PostgreSQL을 다시 시작합니다:
sudo gitlab-ctl restart
문제 해결
SSL SYSCALL 오류: EOF detected
오류 해결
외부 PostgreSQL 인스턴스를 사용할 때 다음과 같은 오류가 발생할 수 있습니다.
pg_dump: error: Error message from server: SSL SYSCALL error: EOF detected
이 오류를 해결하려면 최소한의 PostgreSQL 요구 사항을 충족하는지 확인하세요. RDS 인스턴스를 지원되는 버전으로 업그레이드한 후,이 오류 없이 백업을 수행할 수 있어야합니다. 자세한 내용은 이슈 64763를 참조하세요.