<para>
To determine the set of existing roles, examine the <structname>pg_roles</structname>
- system catalog, for example
+ system catalog, for example:
<synopsis>
SELECT rolname FROM pg_roles;
+</synopsis>
+ or to see just those capable of logging in:
+<synopsis>
+SELECT rolname FROM pg_roles WHERE rolcanlogin;
</synopsis>
The <xref linkend="app-psql"/> program's <literal>\du</literal> meta-command
is also useful for listing the existing roles.
<para>
In order to bootstrap the database system, a freshly initialized
- system always contains one predefined role. This role is always
- a <quote>superuser</quote>, and by default (unless altered when running
- <command>initdb</command>) it will have the same name as the
- operating system user that initialized the database
- cluster. Customarily, this role will be named
+ system always contains one predefined login-capable role. This role
+ is always a <quote>superuser</quote>, and by default it will have
+ the same name as the operating system user that initialized the
+ database cluster, unless another name is specified while
+ running <command>initdb</command>.
+ It is common, but not required, to arrange for this role to be named
<literal>postgres</literal>. In order to create more roles you
first have to connect as this initial role.
</para>