51.20. pg_enum
pg_enum目录包含每一个枚举类型的项,其中包括了值和标签。一个给定枚举值的内部表示实际上是它在pg_enum中的相关行的OID。
表 51.20. pg_enum的列
| 名称 | 类型 | 引用 | 描述 |
|---|---|---|---|
oid |
oid |
行标识符 | |
enumtypid |
oid |
|
包含此枚举值的pg_type项的OID |
enumsortorder |
float4 |
此枚举值在其枚举类型中的排序位置 | |
enumlabel |
name |
此枚举值的文本标签 |
pg_enum行的OID值遵循一种特殊的规则:即OID的数值被保证按照其枚举类型的排序顺序进行排序。即如果两个偶数OID属于同一枚举类型,较小的OID必然具有较小的enumsortorder值。奇数OID值不需要遵循排序顺序。这种规则使得枚举比较例程在很多常见情况下可以避免系统目录查找。创建和修改枚举类型的例程将尝试尽可能地为枚举值分配偶数OID。
当一个枚举类型被创建后,其成员会被分配排序位置1..n。但后面增加的成员可能会被分配负值或者分数值的enumsortorder。对于这些值的唯一要求是它们必须被正确地排序且和保持唯一。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




