2024年9月26日:PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:开发版
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

51.20. pg_enum #

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

表 51.20. pg_enum

列 类型

描述

oid oid

行标识符

enumtypid oid (引用 pg_type.oid)

拥有此枚举值的 pg_type 条目的 OID

enumsortorder float4

此枚举值在其枚举类型中的排序位置

enumlabel name

此枚举值的文本标签


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

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

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步澄清,请使用 此表单 报告文档问题。