备份与恢复
目录
术语适用范围概述备份方法一:备份平台提供的 PostgreSQL 实例(推荐)方法二:备份自建 PostgreSQL 实例恢复数据库恢复恢复平台 PostgreSQL 实例恢复自建 PostgreSQL 实例部署新的 SonarQube 实例术语
适用范围
本文档适用于 SonarQube 9.9.5 及以上版本。
WARNING
本文档已在 SonarQube 9.9.5 版本上验证。虽然理论上这些操作也适用于版本 25.1.0,但尚未在该版本上进行实际验证。如果您使用的是 SonarQube 25.1.0,请先在非生产环境中进行测试。
概述
SonarQube 数据主要由两部分组成:
- PostgreSQL 数据库数据(核心数据)
- Elasticsearch 数据(搜索数据)
由于 Elasticsearch 数据可以从数据库重新生成,因此我们只需备份 PostgreSQL 数据库以确保数据安全。
备份
根据您使用的 PostgreSQL 数据库类型,有两种备份方式:
- 如果使用平台提供的 PG 实例(推荐在部署 SonarQube 实例时使用):
- 可直接使用平台内置的数据库备份功能
- 支持手动和定时自动备份
- 操作简单,用户体验良好
- 如果使用自建 PG 实例,则需自行完成备份
方法一:备份平台提供的 PostgreSQL 实例(推荐)
如果您使用的是平台提供的 PostgreSQL 实例,可以直接使用平台的备份功能:
- 进入 Data Services 视图
- 找到您的 PostgreSQL 实例
- 打开
Backup and Recovery标签页 - 按照页面提示配置备份
平台 PG 实例支持自动备份,可在备份配置过程中开启。具体操作方法请参考平台 PG 备份与恢复文档。
完成备份配置后,您可以:
- 点击
Create Backup立即执行备份 - 在备份记录中查看备份状态
方法二:备份自建 PostgreSQL 实例
如果使用自建数据库,需要使用 pg_dump 工具进行备份。基本操作步骤如下:
参数说明:
提示:您可以使用 crontab 实现自动定时备份。
恢复
数据恢复需要两个步骤:
- 恢复 PostgreSQL 数据库
- 部署新的 SonarQube 实例并连接到恢复后的数据库
重要提示:建议新建 SonarQube 实例,而非修改原实例的数据库配置,以避免误操作导致数据丢失。
数据库恢复
恢复平台 PostgreSQL 实例
- 进入 Data Services 视图
- 找到目标 PostgreSQL 实例
- 打开
Backup and Recovery标签页 - 按照
Database Recovery向导完成恢复
注意:恢复操作会创建一个新的数据库实例。
恢复自建 PostgreSQL 实例
自建 PG 实例需自行完成恢复操作,以下恢复命令仅供参考:
命令参数说明:
-
创建新数据库:
-
导入备份数据:
-
验证恢复结果:
如果能看到数据表列表,则恢复成功:
部署新的 SonarQube 实例
请参考 SonarQube 部署文档创建新的 SonarQube 实例。
请注意以下要点:
- 新部署的 SonarQube 版本必须与原实例相同版本
- 部署时需正确配置数据库连接信息,即数据库恢复步骤中新建的数据库
有关配置数据库访问凭据的方法,请参见 SonarQube 部署文档。