【赵渝强老师】国产金仓数据库的表空间

在金仓数据库中,数据库在逻辑上分成多个存储单元,该单元称作表空间。表空间用作把逻辑上相关的数据结构放在一起。数据库逻辑上是由一个或多个表空间组成。在数据库初始化的时候,会自动创建sys_default、sys_global和sysaudit三个表空间。
其中:
- sys_global:该表空间用于存放系统表,对应存储目录是$KINGBASE_DATA/global/。
- sys_default:创建表时的默认表空间,该表空间的物理文件存储在数据目录中的base目录中,例如:$KINGBASE_DATA/base/。
- sysaudit:该表空间用于存放安全审计相关的数据。对应存储目录$KINGBASE_DATA/sys_aud
![]() |
|---|
| 点击这里查看视频讲解:【赵渝强老师】国产金仓数据库的表空间 |
下面通过具体的操作来演示如何查看KingBaseES中已有的表空间和如何创建自己的表空间。
(1)登录金仓数据库。
ksql -U system -d kingbase
(2)查看已有的表空间。
kingbase=# \db
# 输出的信息如下:
表空间列表
名称 | 拥有者 | 所在地
-------------+--------+--------
sys_default | system |
sys_global | system |
sysaudit | system |
(3 行记录)
(3)创建自己的表空间。
kingbase=# create tablespace mydemotbs location '/home/kingbase/mydemotbs';
(4)在mydemotbs 表空间上创建表。
kingbase=# create table testtable1(tid int primary key,tname text) tablespace mydemotbs;
(5)再次查看KingBaseES中已有的表空间。
kingbase=# \db
# 输出的信息如下:
表空间列表
名称 | 拥有者 | 所在地
-------------+--------+--------------------------
mydemotbs | system | /home/kingbase/mydemotbs
sys_default | system |
sys_global | system |
sysaudit | system |
(4 行记录)
(6)将该表空间设置为默认的表空间。
kingbase=# set default_tablespace = mydemotbs;
(7)查询表空间信息
kingbase=# select * from sys_tablespace;
# 输出的信息如下:
oid | spcname | spcowner | spcacl | spcoptions
-------+-------------+----------+--------+------------
1663 | sys_default | 10 | |
1664 | sys_global | 10 | |
1986 | sysaudit | 10 | |
16427 | mydemotbs | 10 | |
(4 行记录)
(8)使用\db+命令查看表空间的详细信息。
kingbase=# \db+
# 输出的信息如下:
表空间列表
名称 | 拥有者 | 所在地 | 存取权限 | 选项 | 大小 | 描述
-------------+--------+--------------------------+----------+------+------------+------
mydemotbs | system | /home/kingbase/mydemotbs | | | 8237 bytes |
sys_default | system | | | | 102 MB |
sys_global | system | | | | 101 MB |
sysaudit | system | | | | 32 kB |
(4 行记录)
# 命令中的加号表示显示详细信息。


浙公网安备 33010602011771号