]> begriffs open source - ai-pg/blob - full-docs/html/catalog-pg-enum.html
Include latest toc output
[ai-pg] / full-docs / html / catalog-pg-enum.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>52.20. pg_enum</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><link rel="prev" href="catalog-pg-description.html" title="52.19. pg_description" /><link rel="next" href="catalog-pg-event-trigger.html" title="52.21. pg_event_trigger" /></head><body id="docContent" class="container-fluid col-10"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">52.20. <code class="structname">pg_enum</code></th></tr><tr><td width="10%" align="left"><a accesskey="p" href="catalog-pg-description.html" title="52.19. pg_description">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="catalogs.html" title="Chapter 52. System Catalogs">Up</a></td><th width="60%" align="center">Chapter 52. System Catalogs</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="catalog-pg-event-trigger.html" title="52.21. pg_event_trigger">Next</a></td></tr></table><hr /></div><div class="sect1" id="CATALOG-PG-ENUM"><div class="titlepage"><div><div><h2 class="title" style="clear: both">52.20. <code class="structname">pg_enum</code> <a href="#CATALOG-PG-ENUM" class="id_link">#</a></h2></div></div></div><a id="id-1.10.4.22.2" class="indexterm"></a><p>
3    The <code class="structname">pg_enum</code> catalog contains entries
4    showing the values and labels for each enum type. The
5    internal representation of a given enum value is actually the OID
6    of its associated row in <code class="structname">pg_enum</code>.
7   </p><div class="table" id="id-1.10.4.22.4"><p class="title"><strong>Table 52.20. <code class="structname">pg_enum</code> Columns</strong></p><div class="table-contents"><table class="table" summary="pg_enum Columns" border="1"><colgroup><col /></colgroup><thead><tr><th class="catalog_table_entry"><p class="column_definition">
8        Column Type
9       </p>
10       <p>
11        Description
12       </p></th></tr></thead><tbody><tr><td class="catalog_table_entry"><p class="column_definition">
13        <code class="structfield">oid</code> <code class="type">oid</code>
14       </p>
15       <p>
16        Row identifier
17       </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
18        <code class="structfield">enumtypid</code> <code class="type">oid</code>
19        (references <a class="link" href="catalog-pg-type.html" title="52.64. pg_type"><code class="structname">pg_type</code></a>.<code class="structfield">oid</code>)
20       </p>
21       <p>
22        The OID of the <a class="link" href="catalog-pg-type.html" title="52.64. pg_type"><code class="structname">pg_type</code></a> entry owning this enum value
23       </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
24        <code class="structfield">enumsortorder</code> <code class="type">float4</code>
25       </p>
26       <p>
27        The sort position of this enum value within its enum type
28       </p></td></tr><tr><td class="catalog_table_entry"><p class="column_definition">
29        <code class="structfield">enumlabel</code> <code class="type">name</code>
30       </p>
31       <p>
32        The textual label for this enum value
33       </p></td></tr></tbody></table></div></div><br class="table-break" /><p>
34    The OIDs for <code class="structname">pg_enum</code> rows follow a special
35    rule: even-numbered OIDs are guaranteed to be ordered in the same way
36    as the sort ordering of their enum type.  That is, if two even OIDs
37    belong to the same enum type, the smaller OID must have the smaller
38    <code class="structfield">enumsortorder</code> value.  Odd-numbered OID values
39    need bear no relationship to the sort order.  This rule allows the
40    enum comparison routines to avoid catalog lookups in many common cases.
41    The routines that create and alter enum types attempt to assign even
42    OIDs to enum values whenever possible.
43   </p><p>
44    When an enum type is created, its members are assigned sort-order
45    positions 1..<em class="replaceable"><code>n</code></em>.  But members added later might be given
46    negative or fractional values of <code class="structfield">enumsortorder</code>.
47    The only requirement on these values is that they be correctly
48    ordered and unique within each enum type.
49   </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="catalog-pg-description.html" title="52.19. pg_description">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="catalogs.html" title="Chapter 52. System Catalogs">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="catalog-pg-event-trigger.html" title="52.21. pg_event_trigger">Next</a></td></tr><tr><td width="40%" align="left" valign="top">52.19. <code class="structname">pg_description</code> </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 18.0 Documentation">Home</a></td><td width="40%" align="right" valign="top"> 52.21. <code class="structname">pg_event_trigger</code></td></tr></table></div></body></html>