Home Explore Blog CI



postgresql

2nd chunk of `doc/src/sgml/information_schema.sgml`
723009a3d88901f1cd7fde8f67860978940337ab6ce6e2720000000100000fa6
 defined as
   simple domains over ordinary built-in types.  You should not use
   these types for work outside the information schema, but your
   applications must be prepared for them if they select from the
   information schema.
  </para>

  <para>
   These types are:

   <variablelist>
    <varlistentry>
     <term><type>cardinal_number</type></term>
     <listitem>
      <para>
       A nonnegative integer.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><type>character_data</type></term>
     <listitem>
      <para>
       A character string (without specific maximum length).
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><type>sql_identifier</type></term>
     <listitem>
      <para>
       A character string.  This type is used for SQL identifiers, the
       type <type>character_data</type> is used for any other kind of
       text data.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><type>time_stamp</type></term>
     <listitem>
      <para>
       A domain over the type <type>timestamp with time zone</type>
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term><type>yes_or_no</type></term>
     <listitem>
      <para>
       A character string domain that contains
       either <literal>YES</literal> or <literal>NO</literal>.  This
       is used to represent Boolean (true/false) data in the
       information schema.  (The information schema was invented
       before the type <type>boolean</type> was added to the SQL
       standard, so this convention is necessary to keep the
       information schema backward compatible.)
      </para>
     </listitem>
    </varlistentry>
   </variablelist>

   Every column in the information schema has one of these five types.
  </para>
 </sect1>

 <sect1 id="infoschema-information-schema-catalog-name">
  <title><literal>information_schema_catalog_name</literal></title>

  <para>
   <literal>information_schema_catalog_name</literal> is a table that
   always contains one row and one column containing the name of the
   current database (current catalog, in SQL terminology).
  </para>

  <table>
   <title><structname>information_schema_catalog_name</structname> Columns</title>
   <tgroup cols="1">
    <thead>
     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       Column Type
      </para>
      <para>
       Description
      </para></entry>
     </row>
    </thead>

    <tbody>
     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>catalog_name</structfield> <type>sql_identifier</type>
      </para>
      <para>
       Name of the database that contains this information schema
      </para></entry>
     </row>
    </tbody>
   </tgroup>
  </table>
 </sect1>

 <sect1 id="infoschema-administrable-role-authorizations">
  <title><literal>administrable_role_&zwsp;authorizations</literal></title>

  <para>
   The view <literal>administrable_role_authorizations</literal>
   identifies all roles that the current user has the admin option
   for.
  </para>

  <table>
   <title><structname>administrable_role_authorizations</structname> Columns</title>
   <tgroup cols="1">
    <thead>
     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       Column Type
      </para>
      <para>
       Description
      </para></entry>
     </row>
    </thead>

    <tbody>
     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>grantee</structfield> <type>sql_identifier</type>
      </para>
      <para>
       Name of the role to which this role membership was granted (can
       be the current user, or a different role in case of nested role
       memberships)
      </para></entry>
     </row>

     <row>
      <entry role="catalog_table_entry"><para role="column_definition">
       <structfield>role_name</structfield>

Title: Information Schema Data Types and Tables
Summary
The information schema uses five special data types: cardinal_number, character_data, sql_identifier, time_stamp, and yes_or_no, and contains various tables such as information_schema_catalog_name and administrable_role_authorizations, which provide information about the current database and role authorizations.