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。
|
partitionid
|
oid
|
分区表的分区号。
|
rangenum
|
integer
|
保留字段。
|
intervalnum
|
integer
|
保留字段。
|
partstrategy
|
"char"
|
分区表分区策略,现在仅支持:
- 'r':范围分区。
- 'v':数值分区。
- 'i':间隔分区。
- 'l':list分区。
- 'h':hash分区。
- 'n':无效分区。
|
subpartstrategy
|
"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
|
分区索引是否可用。
|
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号。
|
subpartkey
|
int2vector
|
子分区键的列号。
|
subparttemplate
|
pg_node_tree
|
临时子分区,可以避免增加分区时建在默认表空间。
|
relfrozenxid64 |
xid |
(”frozen”)事务ID替换。该字段用于跟踪此表是否需要为了防止事务ID重叠(或者允许收缩pg_clog)而进行清理。如果该关系不是表则为零(InvalidTransactionId)。 |
relminmxid |
xid |
该表中所有在这个之前的多事务ID已经被一个事务ID替换。这用于跟踪该表是否需要为了防止多事务ID重叠或者允许收缩pg_clog而进行清理。如果该关系不是表则为零(InvalidTransactionId)。 |