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" | 
       对象类型:
        
 | 
| parentid | oid | 
 | 
| rangenum | integer | 保留字段。 | 
| intervalnum | integer | 保留字段。 | 
| partstrategy | "char" | 
       分区表分区策略,现在仅支持:
        
 | 
| 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 | 分区索引是否可用。 | 
| 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结构。
        
 partitionno是一个永久自增列,可以通过语法ALTER TABLE t_name RESET PARTITION或者VACUUM FULL命令重置/回收。 | 
| subpartitionno | integer | 
       用于维护分区表中的二级分区Map结构。
        
 subpartitionno是一个永久自增列,可以通过语法ALTER TABLE t_name RESET PARTITION或者VACUUM FULL命令重置/回收。 | 
 
  