role="catalog_table_entry"><para role="column_definition">
<structfield>interval_precision</structfield> <type>cardinal_number</type>
</para>
<para>
Always null, since this information is not applied to array element data types in <productname>PostgreSQL</productname>
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>udt_catalog</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the database that the data type of the elements is
defined in (always the current database)
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>udt_schema</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the schema that the data type of the elements is
defined in
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>udt_name</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the data type of the elements
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>scope_catalog</structfield> <type>sql_identifier</type>
</para>
<para>
Applies to a feature not available in <productname>PostgreSQL</productname>
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>scope_schema</structfield> <type>sql_identifier</type>
</para>
<para>
Applies to a feature not available in <productname>PostgreSQL</productname>
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>scope_name</structfield> <type>sql_identifier</type>
</para>
<para>
Applies to a feature not available in <productname>PostgreSQL</productname>
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>maximum_cardinality</structfield> <type>cardinal_number</type>
</para>
<para>
Always null, because arrays always have unlimited maximum cardinality in <productname>PostgreSQL</productname>
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>dtd_identifier</structfield> <type>sql_identifier</type>
</para>
<para>
An identifier of the data type descriptor of the element. This
is currently not useful.
</para></entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 id="infoschema-enabled-roles">
<title><literal>enabled_roles</literal></title>
<para>
The view <literal>enabled_roles</literal> identifies the currently
<quote>enabled roles</quote>. The enabled roles are recursively
defined as the current user together with all roles that have been
granted to the enabled roles with automatic inheritance. In other
words, these are all roles that the current user has direct or
indirect, automatically inheriting membership in.
<indexterm><primary>enabled role</primary></indexterm>
<indexterm><primary>role</primary><secondary>enabled</secondary></indexterm>
</para>
<para>
For permission checking, the set of <quote>applicable roles</quote>
is applied, which can be broader than the set of enabled roles. So
generally, it is better to use the view
<literal>applicable_roles</literal> instead of this one; See
<xref linkend="infoschema-applicable-roles"/> for details on
<literal>applicable_roles</literal> view.
</para>
<table>
<title><structname>enabled_roles</structname> Columns</title>
<tgroup cols="1">
<thead>
<row>
<entry