On this page
52.20. pg_enum
pg_enum
目录包含显示每种枚举类型的值和标签的条目。给定枚举值的内部表示形式实际上是其在pg_enum
中关联行的 OID。
表 52.20. pg_enum
列
Name | Type | References | Description |
---|---|---|---|
oid |
oid |
行标识符(隐藏属性;必须显式选择) | |
enumtypid |
oid |
pg_type.oid |
拥有此枚举值的pg_type 条目的 OID |
enumsortorder |
float4 |
该枚举值在其枚举类型中的排序位置 | |
enumlabel |
name |
此枚举值的文本标签 |
pg_enum
行的 OID 遵循一条特殊规则:偶数 OID 的保证方式与它们的枚举类型的排序方式相同。也就是说,如果两个偶数 OID 属于相同的枚举类型,则较小的 OID 必须具有较小的enumsortorder
值。奇数编号的 OID 值无需与排序 Sequences 有关。此规则使枚举比较例程可以避免在许多常见情况下进行目录查找。创建和更改枚举类型的例程在可能的情况下会尝试甚至将 OID 分配给枚举值。
创建枚举类型时,将为其成员分配排序位置 1 .. * n
*。但是,以后添加的成员可能会得到enumsortorder
的负值或分数。对这些值的唯一要求是它们在每种枚举类型中的正确 Sequences 和唯一性。