GBase 8c
其他
文章
GBase 8c系统表pg_enum
发表于2023-12-11 15:48:3210次浏览1个评论
pg_enum系统表包含显示每个枚举类型值和标签的记录。给定枚举类型的内部表示实际上是PG_ENUM里面相关行的OID。
名称 | 类型 | 引用 | 描述 |
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的负值或分数值。对这些值的唯一要求是它们要正确的排序和在每个枚举类型中唯一。
热门帖子
- 12025-12-01浏览数:182764
- 22023-05-09浏览数:25062
- 42023-09-25浏览数:18526
- 52020-05-11浏览数:17529