↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
历史版本PostgreSQL 13 已于 2025 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

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。对这些值的唯一要求是它们必须在每个枚举类型内排序正确且唯一。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。