更新日期:2024年09月11日
PG_ENUM 系统表包含显示每个枚举类型值和标签的记录。
给定枚举类型的内部表示实
际上是PG_ENUM 里面相关行的OID。
名称
类型
引用
描述
oid
oid
-
行标识符(隐含属性,必须明确选择)。
enumtypid
oid
PG_TYPE.oid
拥有这个枚举值的pg_type 记录的OID。
enumsortorder
real
-
这个枚举值在它的枚举类型中的排序位
置。
enumlabel
name
-
这个枚举值的文本标签。
PG_ENUM 行的OID 跟着一个特殊规则:偶数的OID 保证用和它们的枚举类型一样的
排序顺序排序。也就是,如果两个偶数OID 属于相同的枚举类型,那么较小的OID 必须有
较小enumsortorder 值。奇数OID 需要毫无关系的排序顺序。这个规则允许枚举比较例程在
许多常见情况下避开目录查找。创建和修改枚举类型的例程只要可能就尝试分配偶数OID
给枚举值。
当创建了一个枚举类型时,它的成员赋予了排序顺序位置1 到n。但是随后添加的成员
可能会分配enumsortorder 的负值或分数值。对这些值的唯一要求是它们要正确的排序和在
每个枚举类型中唯一。