<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> <type>sql_identifier</type>
</para>
<para>
Name of a role
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>is_grantable</structfield> <type>yes_or_no</type>
</para>
<para>
Always <literal>YES</literal>
</para></entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 id="infoschema-applicable-roles">
<title><literal>applicable_roles</literal></title>
<para>
The view <literal>applicable_roles</literal> identifies all roles
whose privileges the current user can use. This means there is
some chain of role grants from the current user to the role in
question. The current user itself is also an applicable role. The
set of applicable roles is generally used for permission checking.
<indexterm><primary>applicable role</primary></indexterm>
<indexterm><primary>role</primary><secondary>applicable</secondary></indexterm>
</para>
<table>
<title><structname>applicable_roles</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> <type>sql_identifier</type>
</para>
<para>
Name of a role
</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 grantee has the admin option on
the role, <literal>NO</literal> if not
</para></entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 id="infoschema-attributes">
<title><literal>attributes</literal></title>
<para>
The view <literal>attributes</literal> contains information about
the attributes of composite data types defined in the database.
(Note that the view does not give information about table columns,
which are sometimes called attributes in PostgreSQL contexts.)
Only those attributes are shown that the current user has access to (by way
of being the owner of or having some privilege on the type).
</para>
<table>
<title><structname>attributes</structname> Columns</title>
<tgroup cols="1">
<thead>
<row>
<entry role="catalog_table_entry"><para