他のバージョンの文書 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

51.20. pg_enum

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

表51.20 pg_enumの列

名前参照先説明
oidoid 行識別子(隠し属性です。明示的に選択しなければなりません)
enumtypidoidpg_type.oidこの列挙値を所有しているpg_type項目のOID
enumsortorderfloat4 列挙型におけるこの列挙値のソート位置
enumlabelname この列挙値のテキストラベル

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

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