更新时间:2026-07-28 GMT+08:00
hashbucket表特性规格约束
hashbucket表约束
- hashbucket表只支持分布式Astore/Ustore行存储、hash分布键,不支持RANGE、LIST、MURMURhash分布,支持分区表,不支持二级分区表,不支持临时表、unlogged表,不支持外表、不支持复制表。
- hashbucket表不支持GIN/GiST索引。
- hashbucket表绑定段页式存储,即hashbucket=on隐含segment=on。
- 由于hashbucket表新增了bucket维度的文件存储信息,出于性能考虑,需要适当调大segment_buffers。
- hashbucket表不支持细粒度备份恢复的表级备份,支持细粒度表级恢复,支持细粒度库级备份和恢复,支持集群级备份和恢复,支持pitr。
- hashbucket表不支持在线DDL操作,不支持M兼容性DDL、DML操作。
- 小表(即普通表小于8MB,分区表小于8MB * 分区数量)不建议创建成hashbucket表,否则顺序扫描性能会较普通表劣化2倍。hashbucket表由于使用段页式存储,且物理文件存储层多了bucket维度,空表或小数据量的表存在一定的存储空间预占用。单DN 10GB以上数据存储场景相较于普通表基本无空间膨胀。
- 不支持创建hashbucket类型的全量物化视图;不支持针对hashbucket表创建增量物化视图。
- 不支持Ustore hashbucket表和Astore hashbucket表库级混用。
- 当带有GPI索引的hashbucket分区表执行ALTER TABLE ... ADD/DROP/TRUNCATE/SPLIT PARTITION ... UPDATE GLOBAL INDEX命令时,被删除的分区会残留少量元数据页面,这些残留页面依赖于段页式自动残留清理特性开启状态下进行删除,即GUC参数enable_auto_segment_remain_cleanup=on(默认值为on)。建议在hashbucket分区表涉及以上DDL操作时维持此参数为on。
- 不支持使用枚举类型、复合类型、复合数组类型、表类型、特殊类型("regproc"、"pg_node_tree"、"regprocedure"、"regoper"、"regoperator"、"regclass"、"regtype"、"_regprocedure"、"_regoper"、"_regoperator"、"_regclass"、"_regtype"、"regconfig"、"regdictionary"、"_regconfig"和"_regdictionary")作为列来创建或修改hashbucket表。对于已经创建成功且包含上述类型列的hashbucket表,不支持扩容操作。
Ustore hashbucket表约束
- Ustore hashbucket表继承hashbucket表的所有约束。
- Ustore hashbucket表继承Ustore表的约束。不支持在事务块/存储过程中执行ALTER TABLE MERGE PARTITIONS的操作。在线并行创建/重建索引支持CBI、LBI索引,支持Ustore普通索引、GLOBAL索引、LOCAL索引,不支持PCR索引。
- Ustore hashbucket表不支持ubtree批量插入特性。
- Ustore hashbucket表不支持GSI在线创建索引。
- Ustore hashbucket表创建CBI索引不支持include。
- Ustore hashbucket表不支持表类型转换。
hashbucket表特性规格
hashbucket表(普通表/分区表)DML性能相比于普通表(普通表/分区表)性能劣化5%以内。
父主题: hashbucket