返回首页

gbase数据、南大通用产品文档:GBase8aALTER TABLE ADD COLUMN

更新日期:2024年09月11日

将一个新列添加到分区表的最后一列。
语法格式
ALTER TABLE [database_name.]table_name ADD COLUMN column_definition
参数说明

database_name:该参数为可选参数,指定数据库后,在此数据库下创建表。如
果没有显示指定database_name 参数,创建的表隶属于USE database_name 后
的数据中的表。

table_name:表命名规则请参见
“5.8.1.1 数据库、
表、
列和别名”

默认情况下,
在当前数据库中创建表。如果没有指定当前数据库或表已经存在,则报告错误
信息。

column_definition:列定义规则请参见“5.3.5.2.1 CREATE 8A TABLE”。
示例
示例1:在分区表 t1 中添加 d 列,数据类型为 int

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 647
gbase> create table t1 (a int,b varchar(100),c date) partition by range(c)
->
( partition
p1
values
less
than
(date_sub(current_date(),interval
1
week))
engine='Hive',
-> partition p2 values less than MAXVALUE );
Query OK, 0 rows affected (Elapsed: 00:00:00.18)
gbase> alter table t1 add column d int;
Query OK, 0 rows affected (Elapsed: 00:00:00.71)
Records: 0 Duplicates: 0 Warnings: 0
gbase> show create table t1;
| t1 | CREATE TABLE "t1" (
"a" int(11) DEFAULT NULL,
"b" varchar(100) DEFAULT NULL,
"c" date DEFAULT NULL,
"d" int(11) DEFAULT NULL
) ENGINE=EXPRESS DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace'
PARTITION BY RANGE (c) 'dlm_cur_date=20160618,dlm_create_date=20160618'
(PARTITION p1 VALUES LESS THAN ( date_sub(curdate(), interval 1 week)) TABLESPACE =
'sys_tablespace' ENGINE = HIVE,PARTITION p2 VALUES LESS THAN MAXVALUE TABLESPACE =
'sys_tablespace' ENGINE = EXPRESS);

控制rebalance 实现shrink space 功能。
默认值0,取值0:关闭shrink to rebalance 功能;
取值1:打开shrink to rebalance 功能;
说明
1. 打开gcluster_shrink_to_rebalance 参数时,执行alter table t1 shrink space full
或者alter table t1 shrink space full block_reuse_ratio=命令时走rebalance 逻
辑,创建中间表,使用SIS 把原表数据转存到中间表,删除原表,rename 中间表
为原表达到shrink 功能目标。
2. 本功能不会导致数据量在各分片间转移,属于n1 分片的数据仍然属于n1,不
会转移到n2。
3. 本功能支持failover。在执行过程中发生failover,依据宕机时正在执行的步骤
决定接管后是继续完成,还是会滚到初始状态。

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1571
4.
gcluster_rebalancing_parallel_degree

gcluster_rebalancing_step

gcluster_rebalancing_immediate_recover_internal_table 对本功能生效。
5. 本功能执行时不更新gcluster_rebalancing_status 系统表。

无转义的文本格式(format=3)

行与行之间默认使用'\n '进行分隔(一次加载的文本文件中行分隔符必须一
致),用户可以自定义行分隔符;

任何字段的内容中都不能包含行分隔符;

字段之间使用指定的字段分隔符进行分隔;

使用指定的字符串代表空值;

字段可以被包围符包围,导入时支持全部字段带有包围符、部分字段带有包
围符、不带包围符三种类型;

字段内容不能被转义。
定长文本格式(format=4)

行与行之间默认使用'\n'进行分隔(一次加载的文本文件中行分隔符必须一
致),用户可以自定义行分隔符;

任何字段的内容中都不能包含行分隔符;

所有行中的相同字段都以定长方式存储,字段数据尺寸不足字段宽度的,使
用空格符补齐;

使用指定的字符串代表空值;

字段内容不能被包围符包围,也不能被转义。