YugabyteDB行级地理分区Demo运行时哈希分区表无法共置报错问题
问题根因
报错是因为创建分区子表时重复定义了字段与主键结构。YugabyteDB 的列表分区子表会自动继承父表的全部字段、主键、约束规则,不需要在PARTITION OF语法中二次声明。你额外添加的带HASH分片规则的主键定义,和分区表的 colocations 放置规则冲突,因此触发了Cannot colocate hash partitioned table错误。
正确创建语法
CREATE TABLE transactions_us PARTITION OF transactions FOR VALUES IN ('US') TABLESPACE us_tablespace;
Demo有效性说明
官方行级地理分区Demo本身有效,你只需按照Demo步骤删除子表创建语句中多余的字段、主键声明部分,即可正常执行。
注意事项
- 所有列表分区子表都会自动继承父表的约束、索引、字段属性,无需重复声明
- 要提前确认
us_tablespace绑定的区域放置规则和集群节点的区域标签匹配,避免后续数据放置异常
内容的提问来源于stack exchange,提问作者dh YB
相关产品推荐
相关产品推荐

