备份管理
KaiwuDB 支持对时序数据和关系数据进行不同粒度的全量备份和增量备份:
- 引擎级备份:备份整个时序引擎或关系引擎下所有数据库
- 数据库级备份:备份指定数据库下所有表
- 表级备份:备份指定的时序表或关系表
备份操作通过 BACKUP SQL 语句执行,支持通过作业管理进行监控和控制。有关作业管理的详细信息,参见作业管理。
创建备份任务
所需权限
- 非三权分立模式下,用户是
admin角色的成员。默认情况下,root用户属于admin角色。 - 三权分立模式下,用户是
sysadmin角色的成员。默认情况下,sysroot用户属于sysadmin角色。
语法格式

参数说明
| 参数 | 描述 |
|---|---|
database_name | 要备份的数据库名称 |
table_name | 要备份的表名称 |
target_path | 备份文件存储路径,格式为 nodelocal://<node_id>/<dir>,表示将文件导出至本地节点。其中:- node_id 为节点 ID。本地只有一个节点时,node_id 取值为 1- dir 为存放备份文件的文件夹名称。系统会在 KaiwuDB 数据目录下的 extern 目录自动创建相应的文件夹。默认数据目录为 /var/lib/kaiwudb/ |
backup_path_list | 已完成的备份存储路径。执行增量备份时: - 时序数据:只需指定上一次备份的路径作为本次增量备份的起点,系统将备份该基准时间点之后的新增或修改数据 - 关系数据:需按时间顺序列出所有相关的备份路径(包括全量备份和之前的所有增量备份),以确保备份链的完整性 |
time | 基于时间点的备份,仅备份该时间点之前的数据。支持两种格式: - 具体时间,如 '2026-01-01'- 距当前备份时刻的时间间隔,如 '-30s' |
返回字段说明
| 字段 | 描述 |
|---|---|
job_id | 备份任务 ID |
status | 备份任务的执行状态 |
fraction_completed | 备份任务的完成进度,取值范围为 0-1,其中 1 表示 100% |
rows | 本次备份的数据行数 |
index_entries | 本次备份的索引数(仅用于集群级备份,当前版本不适用) |
bytes | 本次备份的数据大小(字节) |
语法示例
全量备份
备份时序引擎:
BACKUP TS ENGINE TO "nodelocal://1/backup_ts";备份关系引擎:
BACKUP RELATIONAL ENGINE TO "nodelocal://1/backup_r";备份数据库:
BACKUP DATABASE db1 TO "nodelocal://1/backup_db1";备份表:
BACKUP TABLE t1 TO "nodelocal://1/backup_t1";
增量备份
备份时序引擎:
BACKUP TS ENGINE TO "nodelocal://1/backup_ts_inc/backup_ts_inc2" INCREMENTAL FROM "nodelocal://1/backup_ts_inc/backup_ts_inc1";备份关系引擎:
BACKUP RELATIONAL ENGINE TO "nodelocal://1/backup_r_inc/backup_r_inc2" INCREMENTAL FROM "nodelocal://1/backup_r_inc/backup_r", "nodelocal://1/backup_r_inc/backup_r_inc1";备份数据库:
-- 时序数据库,只需指定上一次备份路径 BACKUP DATABASE tsdb1 TO "nodelocal://1/backup_tsdb1_inc/backup_tsdb1_inc2" INCREMENTAL FROM "nodelocal://1/backup_tsdb1_inc/backup_tsdb1_inc1"; -- 关系数据库,需按顺序列出完整备份链 BACKUP DATABASE rdb1 TO "nodelocal://1/backup_rdb1_inc/backup_rdb1_inc2" INCREMENTAL FROM "nodelocal://1/backup_rdb1_inc/backup_rdb1", "nodelocal://1/backup_rdb1_inc/backup_rdb1_inc1";备份表:
-- 时序表,只需指定上一次备份路径 BACKUP TABLE ts_t1 TO "nodelocal://1/backup_ts_t1_inc/backup_ts_t1_inc2" INCREMENTAL FROM "nodelocal://1/backup_ts_t1_inc/backup_ts_t1_inc1"; -- 关系表,需按顺序列出完整备份链 BACKUP TABLE r_t1 TO "nodelocal://1/backup_r_t1_inc/backup_r_t1_inc2" INCREMENTAL FROM "nodelocal://1/backup_r_t1_inc/backup_r_t1", "nodelocal://1/backup_r_t1_inc/backup_r_t1_inc1";
基于时间点的备份
备份某个具体时间点之前的数据:
BACKUP TABLE t1 TO "nodelocal://1/backup_ts/" AS OF SYSTEM TIME '2026-01-01';备份距当前时刻指定时间间隔之前的数据:
BACKUP TABLE t1 TO "nodelocal://1/backup_ts/" AS OF SYSTEM TIME '-30s';