The catalog pg_authid contains information about
database authorization identifiers (roles). A role subsumes the concepts
of "users" and "groups". A user is essentially just a
role with the rolcanlogin flag set. Any role (with or
without rolcanlogin) may have other roles as members; see
pg_auth_members.
Since this catalog contains passwords, it must not be publicly readable.
pg_roles
is a publicly readable view on
pg_authid that blanks out the password field.
Chapter 18 contains detailed information about user and
privilege management.
Because user identities are cluster-wide,
pg_authid
is shared across all databases of a cluster: there is only one
copy of pg_authid per cluster, not
one per database.
Table 42-8. pg_authid Columns
Name
Type
References
Description
rolname
name
Role name
rolsuper
bool
Role has superuser privileges
rolinherit
bool
Role automatically inherits privileges of roles it is a
member of
rolcreaterole
bool
Role may create more roles
rolcreatedb
bool
Role may create databases
rolcatupdate
bool
Role may update system catalogs directly. (Even a superuser may not do
this unless this column is true.)
rolcanlogin
bool
Role may log in, that is, this role can be given as the initial
session authorization identifier.
rolconnlimit
int4
For roles that can log in, this sets maximum number of concurrent
connections this role can make. -1 means no limit.
rolpassword
text
Password (possibly encrypted); NULL if none
rolvaliduntil
timestamptz
Password expiry time (only used for password authentication);
NULL if no expiration
rolconfig
text[]
Session defaults for run-time configuration variables