Postgresql 中文操作指南

53.20. pg_enum #

pg_enum 目录包含显示每个枚举类型的值和标签的条目。给定枚举值的内部表示实际上是其在 pg_enum 中关联行的 OID。

Table 53.20. pg_enum Columns

Column Type

Description

oid oid

Row identifier

enumtypid oid (引用 pg_type . oid )拥有此枚举值的 pg_type 条目的 OID

enumsortorder float4 此枚举值在其枚举类型内的排序位置

enumlabel name 此枚举值的文本标签

pg_enum 行的 OID 遵循特殊规则:保证偶数编号的 OID 按其枚举类型的排序顺序排序。即,如果两个偶数 OID 属于同一个枚举类型,则较小的 OID 必须具有较小的 enumsortorder 值。奇数编号的 OID 值无需与排序顺序有任何关系。此规则允许枚举比较例程在许多常见情况下避免目录查找。尽可能创建和更改枚举类型的例程会尝试为枚举值分配偶数 OID。

创建枚举类型时,其成员被分配排序顺序位置 1..n。但稍后添加的成员可能获得 enumsortorder 的负或分数值。这些值唯一的要求是其必须在每个枚举类型中正确排序且唯一。