GaussDB-PG_PARTITION
PG_PARTITION系统表存储数据库内所有分区表(partitioned table)、分区(table partition)和分区索引(index partition)三类对象的信息。分区表索引(partitioned index)的信息不在PG_PARTITION系统表中保存。由于分区表(partitioned table)没有实际的物理文件,所以在pg_partition中不会记录其relfilenode、relpages、reltuples、reltoastrelid、reltoastidxid等信息。
| 名称 | 类型 | 描述 |
|---|---|---|
| oid | oid | 行标识符(隐含字段,必须明确选择)。 |
| relname | name | 分区表、分区、分区上toast表和分区索引的名称。 |
| parttype | "char" | 对象类型:- 'r':partitioned table |
- 'p':table partition
- 'x':index partition | | parentid | oid | - 当对象为分区表或分区时,此字段表示分区表在PG_CLASS中的OID。
- 当对象为index partition时,此字段表示所属分区表索引(partitioned index)的OID。 | | rangenum | integer | 保留字段。 | | intervalnum | integer | 保留字段。 | | partstrategy | "char" | 分区表分区策略,现在仅支持:- 'r':范围分区。
- '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 | 分区索引是否可用。- t(true):表示可用。
- f(false):表示不可用。 | | 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命令重置/回收。 | | subpartitionno | integer | 保留字段。 |
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…