Перейти к основному содержимому

pg_enum

примечание

Эта страница переведена при помощи нейросети GigaChat.

Каталог pg_enum содержит записи, показывающие значения и метки для каждого типа перечисления. Внутреннее представление значения перечисления - это OID связанной с ним строки в pg_enum.

Столбцы pg_enum:

СтолбецТип данныхОписание
oidoidИдентификатор строки
enumtypidoid (ссылается на pg_type.oid)OID записи pg_type, владеющей этим значением enum
enumsortorderfloat4Положение сортировки этого значения среды в ее типе среды
enumlabelnameТекстовая метка для этого значения метки ввода

Идентификаторы OID для строк pg_enum подчиняются специальному правилу: четные OID гарантированно упорядочиваются так же, как и сортировка их типа перечисления. То есть, если два четных OID принадлежат к одному и тому же типу перечисления, меньший OID должен иметь меньшее значение enumsortorder. Нечетные значения OID не должны иметь отношения к порядку сортировки. Это правило позволяет процедурам сравнения перечислений избежать поиска в каталоге во многих распространенных случаях. Подпрограммы, создающие и изменяющие типы перечислений, стараются по возможности присваивать значениям перечислений четные OID.

При создании типа перечисления его членам присваивается порядок сортировки 1...n. Но членам, добавляемым позже, могут быть присвоены отрицательные или дробные значения порядка перечисления. Единственное требование к этим значениям - они должны быть правильно упорядочены и уникальны в пределах каждого типа перечисления.