文档中心MogDBMogDB StackUqbar
v5.0

文档:v5.0

PG_PARTITION

PG_PARTITION系统表存储数据库内所有分区表(partitioned table)、分区(table partition)、分区上toast表和分区索引(index partition)四类对象的信息。分区表索引(partitioned index)的信息不在PG_PARTITION系统表中保存。

表 1 PG_PARTITION字段

名称 类型 描述
oid oid 行标识符(隐含属性,必须明确选择)。
relname name 分区表、分区、分区上toast表和分区索引的名称。
parttype "char" 对象类型:
- 'r': partitioned table
- 'p': table partition
- 's':table subpartition。
- 'x': index partition
- 't': toast table
parentid oid 当对象为分区表或分区时,此字段表示分区表在PG_CLASS中的OID。当对象为index partition时,此字段表示所属分区表索引(partitioned index)的OID。
rangenum integer 保留字段。
intervalnum integer 保留字段。
partstrategy "char" 分区表分区策略,现在仅支持:
- 'r': 范围分区。
- 'v': 数值分区。
- 'i': 间隔分区。
- 'l':list分区。
- 'h':hash分区。
- 'n':无效分区。
relfilenode oid table partition、index partition、分区上toast表的物理存储位置。
reltablespace oid table partition、index partition、分区上toast表所属表空间的OID。
relpages double precision 统计信息: table partition、index partition的数据页数量。
reltuples double precision 统计信息: table partition、index partition的元组数。
relallvisible integer 统计信息: table partition、index partition的可见数据页数。
reltoastrelid oid table partition所对应toast表的OID。
reltoastidxid oid table partition所对应toast表的索引的OID。
indextblid oid index partition对应table partition的OID。
indisusable boolean 分区索引是否可用。
reldeltarelid oid Delta表的OID。
reldeltaidx oid Delta表的索引表的OID。
relcudescrelid oid CU描述表的OID。
relcudescidx oid CU描述表的索引表的OID。
relfrozenxid xid32 冻结事务ID号。
为保持前向兼容,保留此字段,新增relfrozenxid64用于记录此信息。
intspnum integer 间隔分区所属表空间的个数。
partkey int2vector 分区键的列号。
intervaltablespace oidvector 间隔分区所属的表空间,间隔分区以round-robin方式落在这些表空间内。
interval text[] 间隔分区的间隔值。
boundaries text[] 范围分区和间隔分区的上边界。
transit text[] 间隔分区的跳转点。
reloptions text[] 设置partition的存储属性,与pg_class.reloptions的形态一样,用"keyword=value"格式的字符串来表示 ,目前用于在线扩容的信息搜集。
relfrozenxid64 xid 冻结事务ID号。
relminmxid xid 冻结多事务ID号。
partitionno integer 用于维护分区表中的分区Map结构。
- 当对象为分区时,此字段表示分区ID,从1开始自增。
- 当对象为分区表时,此字段表示分区ID的最大值,并使用负值来特殊标记,该值会随着部分分区DDL语法不断递增。
- 当对象为其他类型时,此字段为空值,没有任何含义。
partitionno是一个永久自增列,可以通过语法ALTER TABLE t_name RESET PARTITION或者VACUUM FULL命令重置/回收。
subpartitionno integer 用于维护分区表中的二级分区Map结构。
- 当对象为二级分区时,此字段表示二级分区ID,从1开始自增。
- 当对象为二级分区表的一级分区时,此字段表示二级分区ID的最大值,并使用负值来特殊标记,该值会随着部分分区DDL语法不断递增。
- 当对象为其他类型时,此字段为空值,没有任何含义。
subpartitionno是一个永久自增列,可以通过语法ALTER TABLE t_name RESET PARTITION或者VACUUM FULL命令重置/回收。
Copyright © 2011-2024 www.enmotech.com All rights reserved.