方法一:使用 PostgreSQL 官方仓库(推荐)
1. 安装官方仓库
安装 PostgreSQL 官方仓库
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2. 安装 PostgreSQL
查看可用的 PostgreSQL 版本
yum list postgresql*
安装 PostgreSQL 14(推荐用于 SonarQube)
sudo yum install -y postgresql14-server
或者安装其他版本
sudo yum install -y postgresql13-server
sudo yum install -y postgresql15-server
3. 初始化数据库
初始化数据库
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
启动 PostgreSQL 服务
sudo systemctl start postgresql-14
设置开机自启
sudo systemctl enable postgresql-14
PostgreSQL 基本配置
1. 设置 postgres 用户密码
切换到 postgres 用户
sudo -i -u postgres
进入 PostgreSQL 命令行
psql
在 psql 中设置密码
ALTER USER postgres PASSWORD 'your_password';
\q
exit
2. 配置远程访问(可选)
编辑配置文件
sudo vi /var/lib/pgsql/14/data/postgresql.conf
修改以下行:
listen_addresses = '*' # 允许所有 IP 连接
port = 5432 # 端口号
3. 配置访问权限
编辑 pg_hba.conf
sudo vi /var/lib/pgsql/14/data/pg_hba.conf
在文件末尾添加:
允许所有 IP 通过密码访问
host all all 0.0.0.0/0 md5
或者允许本地网络访问
host all all 192.168.1.0/24 md5
4. 重启服务
sudo systemctl restart postgresql-14
📊 创建 SonarQube 数据库和用户
# 切换到 postgres 用户
sudo -i -u postgres
# 进入 PostgreSQL 命令行
psql
# 创建 SonarQube 数据库用户
CREATE USER sonar WITH PASSWORD 'sonar_password';
# 创建 SonarQube 数据库
CREATE DATABASE sonarqube OWNER sonar;
# 授予权限
GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonar;
# 退出
\q
exit
🛠️ 常用管理命令
检查服务状态
sudo systemctl status postgresql-14
启动服务
sudo systemctl start postgresql-14
停止服务
sudo systemctl stop postgresql-14
重启服务
sudo systemctl restart postgresql-14
查看版本
sudo -i -u postgres psql -c "SELECT version();"
🔒 防火墙配置
开放 PostgreSQL 端口
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload
📝 验证安装
测试连接
sudo -i -u postgres psql -c "SELECT version();"
连接 SonarQube 数据库测试
psql -h localhost -U sonar -d sonarqube -W
⚠️ 重要提示
-
版本选择:推荐使用 PostgreSQL 12-15,与 SonarQube 9.9 兼容性最好
-
安全配置:生产环境请使用强密码,并限制访问 IP
-
备份配置:定期备份 PostgreSQL 配置文件和数据
-
性能调优:根据服务器配置调整 PostgreSQL 内存参数
推荐使用方法一,这样可以获得更新的 PostgreSQL 版本和更好的性能。安装完成后,您就可以配置 SonarQube 使用这个 PostgreSQL 数据库了