★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 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 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

53.20. pg_enum #

pg_enumカタログは、各列挙型についてその値とラベルを示す項目を含みます。 ある与えられた列挙値の内部表現は、実際にはpg_enum内の関連付けられた行のOIDです。

表53.20 pg_enumの列

列 型

説明

oid oid

行識別子

enumtypid oid (参照先 pg_type.oid

この列挙値を所有しているpg_type項目のOID

enumsortorder float4

列挙型におけるこの列挙値のソート位置

enumlabel name

この列挙値のテキストラベル


pg_enum行のOIDは次のような特別な規則に従います。 列挙型のソート順序と同じ順序で並んだ偶数のOIDが保証されています。 つまり、2つの偶数のOIDが同じ列挙型に属する場合、OIDの小さい方がより小さいenumsortorder値を持たなければなりません。 奇数のOID値はソート順序に関連を持ってはなりません。 この規則により列挙の比較処理は多くの一般的な場合でカタログの検索を防ぐことができます。 列挙型の作成および変更を行う処理は、可能であれば偶数のOIDを列挙値に割り当てようとします。

列挙型を作成する時、そのメンバには1..nのソート順位置が割り当てられます。 しかし後で追加されたメンバには負もしくはenumsortorderの小数値が与えられる可能性があります。 これらの値の要件は、各列挙型の中で正しく順序付けされ、かつ一意であることだけです。