Help us learn about your current experience with the documentation. Take the survey.
用于 Linux 软件包安装的独立 PostgreSQL
- 版本:免费、专业、旗舰
- 产品:GitLab 自管版
如果您希望将数据库服务与 GitLab 应用服务器分开托管,可以使用随 Linux 软件包一同打包的 PostgreSQL 二进制文件来实现。我们推荐这样做,它是我们适用于每秒 40 次请求 (RPS) 或 2000 名用户的参考架构的一部分。
进行设置
-
通过 SSH 登录到 PostgreSQL 服务器。
-
使用 GitLab 下载页面上的步骤 1 和 2,下载并安装您所需的 Linux 软件包。请勿完成下载页面上的任何其他步骤。
-
为 PostgreSQL 生成一个密码哈希值。这假设您使用的是默认用户名
gitlab(推荐)。该命令会要求您输入密码并确认。在下一步中,请将此命令输出的值用作POSTGRESQL_PASSWORD_HASH的值。sudo gitlab-ctl pg-password-md5 gitlab -
编辑
/etc/gitlab/gitlab.rb文件,并添加以下内容,同时适当更新占位符的值。POSTGRESQL_PASSWORD_HASH- 上一步输出的值APPLICATION_SERVER_IP_BLOCKS- 连接到数据库的 GitLab 应用服务器的 IP 子网或 IP 地址列表,以空格分隔。示例:%w(123.123.123.123/32 123.123.123.234/32)
# 禁用除 PostgreSQL 外的所有组件 roles(['postgres_role']) prometheus['enable'] = false alertmanager['enable'] = false pgbouncer_exporter['enable'] = false redis_exporter['enable'] = false gitlab_exporter['enable'] = false postgresql['listen_address'] = '0.0.0.0' postgresql['port'] = 5432 # 将 POSTGRESQL_PASSWORD_HASH 替换为生成的 md5 值 postgresql['sql_user_password'] = 'POSTGRESQL_PASSWORD_HASH' # 将 XXX.XXX.XXX.XXX/YY 替换为网络地址 # ???? postgresql['trust_auth_cidr_addresses'] = %w(APPLICATION_SERVER_IP_BLOCKS) # 禁用自动数据库迁移 gitlab_rails['auto_migrate'] = false -
重新配置 GitLab 以使更改生效。
-
记下 PostgreSQL 节点的 IP 地址或主机名、端口以及明文密码。在后续配置 GitLab 应用服务器时,将需要这些信息。
系统支持高级配置选项,如果需要可以添加。