还原管理
KaiwuDB 支持对时序数据和关系数据进行不同粒度的全量还原和增量还原:
- 引擎级还原:还原整个时序引擎或关系引擎下的所有数据库
- 数据库级还原:还原指定数据库下的所有表
- 表级还原:还原指定的单个表
还原操作通过 RESTORE SQL 语句执行,支持通过作业管理进行监控和控制。有关作业管理的详细信息,参见作业管理。
说明
备份文件不支持跨大版本还原(如 3.0.x ↔ 3.1),同一大版本内的小版本支持互相还原
创建还原任务
所需权限
- 非三权分立模式下,用户是
admin角色的成员。默认情况下,root用户属于admin角色。 - 三权分立模式下,用户是
sysadmin角色的成员。默认情况下,sysroot用户属于sysadmin角色。
语法格式

参数说明
| 参数 | 描述 |
|---|---|
database_name | 要还原的数据库名称 |
table_name | 要还原的表名称 |
backup_path_list | 备份文件存储路径,格式为 nodelocal://<node_id>/<dir>,表示从本地节点读取备份文件。其中:- node_id 为节点 ID。本地只有一个节点时,node_id 取值为 1- dir 为存放备份文件的文件夹名称,系统将在 KaiwuDB 数据目录下的 extern 目录查找该文件。注意: - 执行增量还原时,需按备份时间顺序列出所有相关的备份路径,路径之间用逗号分隔 - 执行关系数据的增量还原时,还需要先删除目标对象,然后按备份顺序列举所有备份文件路径 |
返回字段说明
| 字段 | 描述 |
|---|---|
job_id | 还原任务 ID |
status | 还原任务的执行状态 |
fraction_completed | 还原任务的完成进度,取值范围 0-1,其中 1 表示 100% |
rows | 本次还原的数据行数 |
index_entries | 本次还原的索引数(仅用于集群级还原,当前版本不适用) |
bytes | 本次还原的数据大小(字节) |
语法示例
全量还原
还原时序引擎:
RESTORE TS ENGINE FROM "nodelocal://1/backup_ts";还原关系引擎:
RESTORE RELATIONAL ENGINE FROM "nodelocal://1/backup_r";还原数据库:
RESTORE DATABASE db1 FROM "nodelocal://1/backup_db1";还原表:
RESTORE TABLE t1 FROM "nodelocal://1/backup_t1";
增量还原
还原时序引擎:
RESTORE TS ENGINE FROM "nodelocal://1/backup_ts_inc/backup_ts", "nodelocal://1/backup_ts_inc/backup_ts_inc1", "nodelocal://1/backup_ts_inc/backup_ts_inc2";还原关系引擎:
RESTORE RELATIONAL ENGINE FROM "nodelocal://1/backup_r_inc/backup_r", "nodelocal://1/backup_r_inc/backup_r_inc1", "nodelocal://1/backup_r_inc/backup_r_inc2";还原数据库:
RESTORE DATABASE db1 FROM "nodelocal://1/backup_db1_inc/backup_db1", "nodelocal://1/backup_db1_inc/backup_db1_inc1", "nodelocal://1/backup_db1_inc/backup_db1_inc2";还原表:
RESTORE TABLE t1 FROM "nodelocal://1/backup_t1_inc/backup_t1", "nodelocal://1/backup_t1_inc/backup_t1_inc1", "nodelocal://1/backup_t1_inc/backup_t1_inc2";