案例-以k1库为例
bash
#查看备份
[kingbase@node1 ~]$ ls -lth /dbdata/backup/dumpbackup/k1/
总用量 6.5M
-rw-rw-r-- 1 kingbase kingbase 177 4月 2 14:00 backup_log_k1_2026040214.tar.gz
-rw-rw-r-- 1 kingbase kingbase 6.5M 4月 2 14:00 k1_2026040214.tar.gz
#查看数据库的信息
test=# \l+
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限 | 大小 | 表空间 | 描述
-----------+--------+----------+-------------+-------------+-------------------+--------+-------------+--------------------------------------------
k1 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | | 369 MB | sys_default |
#我是直接修改的原库名,再进行创建,并没有删除原库
select sys_terminate_backend(pid)
from sys_stat_activity
where datname = 'k1';
alter database k1 rename to k11;
#新建一个同名的库,注意extension要一样(查看方式SELECT * FROM sys_extension;)。
create database k1;
#将数据库文件拷贝的其他目录,我是新建的一个
[kingbase@node1 ~]$ mkdir /home/kingbase/kdb_install/database_bak
[kingbase@node1 ~]$ cp /dbdata/backup/dumpbackup/k1/k1_2026040214.tar.gz /home/kingbase/kdb_install/database_bak/
#在新目录下解压
[kingbase@node1 ~]$ cd /home/kingbase/kdb_install/database_bak/
[kingbase@node1 database_bak]$ tar xf k1_2026040214.tar.gz
[kingbase@node1 database_bak]$ ls
k1_2026040214.dmp k1_2026040214.tar.gz
[kingbase@node1 ~]$ sys_restore -U system -d k1 /home/kingbase/kdb_install/database_bak/k1_2026040214.dmp
test=# select sys_size_pretty(sys_database_size('k1'));
sys_size_pretty
-----------------
369 MB
(1 行记录)
test=# select sys_size_pretty(sys_database_size('k11'));
sys_size_pretty
-----------------
369 MB
(1 行记录)