GaussDB分区表DDL业务报错
新增分区的名称不能与该分区表已有分区的名称相同。 若新增RANGE分区,新增分区的分区键值要大于分区表中最后一个范围分区的上边界。 若新增LIST分区,新增分区的分区键值不能与现有分区键值重复。 若RANGE分区表定义有MAXVALUE,或LIST分区定义有DEFAULT,无法新增分区。 不支持新增HASH分区。 2.删除分区 当分区表只有一个分区时,不能删除该分区。 不支持删除HASH分区。 删除分区会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。 3.交换分区 执行交换分区时,可以申明WITH/WITHOUT VALIDATION,表明是否校验普通表数据满足目标分区的分区键约束规则(默认开启校验)。 如果申明WITHOUT VALIDATION,且交换的数据不完全属于目标分区,会导致分区表后续业务出现不可预知的后果。 可以申明WITH VALIDATION VERBOSE,数据库会将不满足目标分区的分区键约束规则的数据,插入到分区表的其他分区中,最后再进行普通表与目标分区的交换。 进行交换的普通表和分区的列数目、列结构、列信息需要完全一致,包括已被删除的列也需严格一致。 进行交换的普通表索引和分区表Local索引个数相同,且对应索引的信息严格一致。 进行交换的普通表索引和分区表压缩信息、表约束严格一致。 进行交换的普通表索引和分区表不可以有动态数据脱敏,行访问控制约束。 交换分区会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。 不支持对二级分区表的一级分区交换分区。 4.清空分区
分割后的新分区,可以与源分区名字相同,比如将分区p1分割为p1,p2。但数据库不会将分割前后相同名的分区视为同一个分区,这会影响分割期间数据库对源分区查询行为的判断。 不支持分割HASH分区。 若指定分割点分割RANGE分区,分割点要位于正被分割分区的分区键范围内。 若不指定分割点分割RANGE分区,分割后的新分区必须满足分区范围定义递增的约束。 若指定分割点分割LIST分区,分割点必须是源分区的一个非空真子集。 若不指定分割点分割LIST分区,分割后的每个新分区都必须是源分区的一个非空真子集,且互不交叉。 分割分区会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。 不支持对二级分区表的一级分区分割分区。 6.合并分区 对于RANGE/INTERVAL分区,源分区的范围要求连续且递增。−合并后的新分区,对于RANGE/INTERVAL分区,可以与最后一个源分区名字相同;对于LIST分区,可以与任一源分区名字相同。 如果新分区与源分区名字相同,数据库会将新分区视为对源分区的继承,这会影响合并期间数据库对源分区查询行为的判断。 不支持合并HASH分区。 合并分区会使得Global索引失效,可以通过UPDATE GLOBAL INDEX子句来同步更新Global索引,或者用户自行重建Global索引。 不支持对二级分区表的一级分区合并分区。 USTORE存储引擎表不支持在事务块/存储过程中执行合并分区的操作。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




