<type>sql_identifier</type>
</para>
<para>
Name of the role that granted the privilege
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>grantee</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the role that the privilege was granted to
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>object_catalog</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the database containing the object (always the current database)
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>object_schema</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the schema containing the object, if applicable,
else an empty string
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>object_name</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the object
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>object_type</structfield> <type>character_data</type>
</para>
<para>
<literal>COLLATION</literal> or <literal>DOMAIN</literal> or <literal>FOREIGN DATA WRAPPER</literal> or <literal>FOREIGN SERVER</literal> or <literal>SEQUENCE</literal>
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>privilege_type</structfield> <type>character_data</type>
</para>
<para>
Always <literal>USAGE</literal>
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>is_grantable</structfield> <type>yes_or_no</type>
</para>
<para>
<literal>YES</literal> if the privilege is grantable, <literal>NO</literal> if not
</para></entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 id="infoschema-user-defined-types">
<title><literal>user_defined_types</literal></title>
<para>
The view <literal>user_defined_types</literal> currently contains
all composite types defined in the current database.
Only those types are shown that the current user has access to (by way
of being the owner or having some privilege).
</para>
<para>
SQL knows about two kinds of user-defined types: structured types
(also known as composite types
in <productname>PostgreSQL</productname>) and distinct types (not
implemented in <productname>PostgreSQL</productname>). To be
future-proof, use the
column <literal>user_defined_type_category</literal> to
differentiate between these. Other user-defined types such as base
types and enums, which are <productname>PostgreSQL</productname>
extensions, are not shown here. For domains,
see <xref linkend="infoschema-domains"/> instead.
</para>
<table>
<title><structname>user_defined_types</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>user_defined_type_catalog</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the database that contains the type (always the current database)
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>user_defined_type_schema</structfield>