VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

CREATE TABLESPACE

功能描述

在数据库中创建一个新的表空间。

本文档只介绍CREATE TABLESPACE语句兼容MySQL的特性,原Vastbase的CREATE TABLESPACE语法未做删除和修改,详见CREATE TABLESPACE

Vastbase在MySQL兼容模式下,支持CREATE TABLESPACE语句如下特性用法:

由于路径的特殊字符校验,在使用ADD DATAFILE创建表空间时,若输入路径以.ibd结尾,那么Vastbase会将路径名称更改为以_ibd结尾。

注意事项

该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。

语法格式

CREATE TABLESPACE tablespace_name
    tablespace_details;

其中创建表空间的详细信息tablespace_details为:

[ OWNER user_name ] [RELATIVE] LOCATION 'directory' [ MAXSIZE 'space_size' ] [with_option_clause] [ ENGINE [=] engine_name ]
| ADD DATAFILE 'directory' [ ENGINE [=] engine_name ]

参数说明

ENGINE [=] engine_name

指定存储引擎,该语法仅做语法兼容,不实现功能。

示例

1、使用ADD DATAFILE语法创建表空间,输入路径以.ibd结尾。

CREATE TABLESPACE test_tbspace_ibd ADD DATAFILE 'test_tbspace1.ibd';

返回结果为:

WARNING:  Suffix ".ibd" of datafile path detected. The actual path will be renamed as "test_tbspace1_ibd"
CREATE TABLESPACE

2、在表空间test_tbspace1.ibd中创建表。

CREATE TABLE t_tbspace(num int) TABLESPACE test_tbspace_ibd;

3、查询表结构。

\d t_tbspace

返回结果为:

        Table "public.t_tbspace"
 Column |  Type   | Modifiers | Attalias
--------+---------+-----------+----------
 num    | integer |           | num
Tablespace: "test_tbspace_ibd"