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命令重置/回收。 |
|
subpartitionno |
integer |
保留字段。 |