文档下载建议反馈入口

  • 创建备份任务
  • 返回字段说明

备份管理

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';