术语 | 描述 |
---|---|
PG | PostgreSQL 数据库,SonarQube 用于存储核心数据 |
ES | Elasticsearch 搜索引擎,SonarQube 用于搜索 |
本文档适用于 SonarQube 9.9.5 及以上版本。
本文档已在 SonarQube 9.9.5 版本上验证。虽然理论上这些操作也适用于版本 25.1.0,但尚未在该版本上进行实际验证。如果您使用的是 SonarQube 25.1.0,请先在非生产环境中进行测试。
SonarQube 数据主要由两部分组成:
由于 Elasticsearch 数据可以从数据库重新生成,因此我们只需备份 PostgreSQL 数据库以确保数据安全。
根据您使用的 PostgreSQL 数据库类型,有两种备份方式:
如果您使用的是平台提供的 PostgreSQL 实例,可以直接使用平台的备份功能:
Backup and Recovery
标签页平台 PG 实例支持自动备份,可在备份配置过程中开启。具体操作方法请参考平台 PG 备份与恢复文档。
完成备份配置后,您可以:
Create Backup
立即执行备份如果使用自建数据库,需要使用 pg_dump
工具进行备份。基本操作步骤如下:
参数说明:
参数 | 描述 |
---|---|
-U postgres | 数据库用户名 |
-h 127.0.0.1 | 数据库地址 |
-p 5432 | 数据库端口 |
-d sonar | 数据库名称 |
-f sonar.dump | 备份文件名 |
提示:您可以使用 crontab
实现自动定时备份。
数据恢复需要两个步骤:
重要提示:建议新建 SonarQube 实例,而非修改原实例的数据库配置,以避免误操作导致数据丢失。
Backup and Recovery
标签页Database Recovery
向导完成恢复注意:恢复操作会创建一个新的数据库实例。
自建 PG 实例需自行完成恢复操作,以下恢复命令仅供参考:
命令参数说明:
参数 | 描述 |
---|---|
-U postgres | 数据库用户名 |
-h 127.0.0.1 | 数据库地址 |
-p 5432 | 数据库端口 |
-d sonar_new | 新数据库名称 |
-f sonar.dump | 备份文件名 |
创建新数据库:
导入备份数据:
验证恢复结果:
如果能看到数据表列表,则恢复成功:
请参考 SonarQube 部署文档创建新的 SonarQube 实例。
请注意以下要点:
有关配置数据库访问凭据的方法,请参见 SonarQube 部署文档。