当前Astore的索引依赖AutoVacuum和Free Space Map(FSM)进行空间管理,存在回收不及时的问题,而Ustore的索引使用其特有的URQ(UB-tree Recycle Queue,一种基于循环队列的数据结构,即双循…
Astore与Ustore的多版本实现最大的区别在于最新版本和历史版本是否分离存储。Astore不进行分离存储,而Ustore当前也只是分离了数据,索引本身没有分开。 使用Astore的优势 Astore没有回滚段,而Ustore有回滚段。…
分区表中实际保存数据的表,对应的entry通常保存在pg_partition中,各个子分区的parentid作为外键关联其分区母表在pg_class表中的oid列。 示例1:t1_hash为一个分区表: CREATE TABLE t1_ha…
用户可以使用清空分区的命令来快速清空分区的数据。与删除分区功能类似,区别在于清空分区只会删除分区中的数据,分区的定义和物理文件都会保留。清空分区可以通过指定分区名或者分区值来进行。 执行清空分区命令会使得Global索引失效,可以通过UPD…
– Ustore适配分布式/并行查询/Global Temp Table/Vacuum full/列约束DEFERRABLE以及INITIALLY DEFERRED。 – Ustore增加在线重建索引。 –…
txn page所在文件组织结构: $GAUSS_HOME/undo/{permanent|unlogged|temp}/$undo_zone_id.meta.$segno undo row所在文件组织结构: $GAUSS_HOME/und…
实际对用户体现的表,用户对该表进行常规DML语句的增、删、查、改操作。通常使用在建表DDL语句显式的使用PARTITION BY语句进行定义,创建成功以后在pg_class表中新增一个entry,并且parttype列内容为’p…
使用ALTER TABLE SPLIT PARTITION可以对列表分区表分割分区。 例如,假设列表分区表list_sales的分区channel2定义范围为(‘6’, ‘7’, ‘…
数据表最大列数不能超过1600列。 Ustore表(不含toast情况)最大Tuple长度不能超过(8192 – MAXALIGN(56 + init_td * 26 + 4)), 其中MAXALIGN表示8字节对齐。当插入数据…
每个undo zone除了管理部分txn page外,还管理undo page。 Undo页面中存储undo row,对数据的修改会将历史版本记录到Undo中。 Undo记录也是数据,因此对Undo页面的修改同样会记录Redo。 父主题: …