GitLab Linux配置中的数据库选择指南
GitLab作为开源代码托管平台,其Linux环境下的数据库支持经历了版本迭代调整:
pg_trgm(模糊搜索)、btree_gist(索引)等关键扩展,满足GitLab对代码托管、CI/CD等场景的高需求。通过Yum包管理器安装PostgreSQL服务器及contrib工具(包含扩展和实用程序):
sudo yum install -y postgresql-server postgresql-contrib
运行初始化脚本创建数据库集群(首次安装需执行):
sudo postgresql-setup initdb
启动PostgreSQL服务并设置为开机自动启动:
sudo systemctl start postgresql
sudo systemctl enable postgresql
使用postgres超级用户登录PostgreSQL,执行以下命令:
sudo -u postgres psql
-- 创建数据库(指定编码为UTF-8)
CREATE DATABASE gitlab WITH ENCODING='UTF8' OWNER=gitlab;
-- 创建用户并设置密码
CREATE USER gitlab WITH PASSWORD 'YourSecurePassword123!';
-- 授权用户对数据库的完全访问权限
GRANT ALL PRIVILEGES ON DATABASE gitlab TO gitlab;
-- 退出psql
\q
编辑pg_hba.conf文件(路径:/var/lib/pgsql/data/pg_hba.conf),添加以下行允许GitLab(本地访问)通过密码认证连接:
host gitlab gitlab 127.0.0.1/32 md5
修改后重启PostgreSQL使配置生效:
sudo systemctl restart postgresql
编辑GitLab主配置文件/etc/gitlab/gitlab.rb,设置数据库连接参数:
gitlab_rails['db_host'] = "localhost" # 数据库服务器地址(本地为localhost)
gitlab_rails['db_port'] = 5432 # PostgreSQL默认端口
gitlab_rails['db_user'] = "gitlab" # 数据库用户名
gitlab_rails['db_password'] = "YourSecurePassword123!" # 数据库用户密码
gitlab_rails['db_name'] = "gitlab" # 数据库名称
保存后执行reconfigure命令应用配置:
sudo gitlab-ctl reconfigure
pg_trgm和btree_gist扩展已加载至GitLab数据库,否则会导致功能异常(如模糊搜索失效)。