b420.png 在金倉數據庫中,數據庫在邏輯上分成多個存儲單元,該單元稱作表空間。表空間用作把邏輯上相關的數據結構放在一起。數據庫邏輯上是由一個或多個表空間組成。在數據庫初始化的時候,會自動創建sys_default、sys_global和sysaudit三個表空間。

其中:

  • sys_global:該表空間用於存放系統表,對應存儲目錄是$KINGBASE_DATA/global/。
  • sys_default:創建表時的默認表空間,該表空間的物理文件存儲在數據目錄中的base目錄中,例如:$KINGBASE_DATA/base/。
  • sysaudit:該表空間用於存放安全審計相關的數據。對應存儲目錄$KINGBASE_DATA/sys_aud
image.png
點擊這裏查看視頻講解:【趙渝強老師】國產金倉數據庫的表空間

下面通過具體的操作來演示如何查看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 行記錄)

# 命令中的加號表示顯示詳細信息。

image.png