Home Explore Blog CI



postgresql

12th chunk of `doc/src/sgml/ref/create_type.sgml`
a775c5c5ec17671bffd3c100a9fc05fdec470b8b0df9f6da0000000100000fa0
      data type.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">subscript_function</replaceable></term>
    <listitem>
     <para>
      The name of a function that defines what subscripting a value of the
      data type does.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">internallength</replaceable></term>
    <listitem>
     <para>
      A numeric constant that specifies the length in bytes of the new
      type's internal representation.  The default assumption is that
      it is variable-length.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">alignment</replaceable></term>
    <listitem>
     <para>
      The storage alignment requirement of the data type.  If specified,
      it must be <literal>char</literal>, <literal>int2</literal>,
      <literal>int4</literal>, or <literal>double</literal>; the
      default is <literal>int4</literal>.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">storage</replaceable></term>
    <listitem>
     <para>
      The storage strategy for the data type.  If specified, must be
      <literal>plain</literal>, <literal>external</literal>,
      <literal>extended</literal>, or <literal>main</literal>; the
      default is <literal>plain</literal>.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">like_type</replaceable></term>
    <listitem>
     <para>
      The name of an existing data type that the new type will have the
      same representation as.  The values of
      <replaceable class="parameter">internallength</replaceable>,
      <replaceable class="parameter">passedbyvalue</replaceable>,
      <replaceable class="parameter">alignment</replaceable>, and
      <replaceable class="parameter">storage</replaceable>
      are copied from that type, unless overridden by explicit
      specification elsewhere in this <command>CREATE TYPE</command> command.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">category</replaceable></term>
    <listitem>
     <para>
      The category code (a single ASCII character) for this type.
      The default is <literal>'U'</literal> for <quote>user-defined type</quote>.
      Other standard category codes can be found in
      <xref linkend="catalog-typcategory-table"/>.  You may also choose
      other ASCII characters in order to create custom categories.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">preferred</replaceable></term>
    <listitem>
     <para>
      True if this type is a preferred type within its type category,
      else false.  The default is false.  Be very careful about creating
      a new preferred type within an existing type category, as this
      could cause surprising changes in behavior.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">default</replaceable></term>
    <listitem>
     <para>
      The default value for the data type.  If this is omitted, the
      default is null.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">element</replaceable></term>
    <listitem>
     <para>
      The type being created is an array; this specifies the type of
      the array elements.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">delimiter</replaceable></term>
    <listitem>
     <para>
      The delimiter character to be used between values in arrays made
      of this type.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">collatable</replaceable></term>
    <listitem>
     <para>
 

Title: CREATE TYPE - Parameters Continued (Storage, Category, and Defaults)
Summary
This section details the remaining parameters for the CREATE TYPE command in PostgreSQL. It covers parameters such as storage, like_type, category, preferred, default, element, and delimiter. These parameters define the storage strategy, inherit representation from existing types, assign a category, set preference, specify default values, define array elements, and set the delimiter character for arrays of the new type.