September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

52.81. pg_roles

The view pg_roles provides access to information about database roles. This is simply a publicly readable view of pg_authid that blanks out the password field.

This view explicitly exposes the OID column of the underlying table, since that is needed to do joins to other catalogs.

Table 52.82. pg_roles 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 can create more roles
rolcreatedb bool   Role can create databases
rolcanlogin bool   Role can log in. That is, this role can be given as the initial session authorization identifier
rolreplication bool   Role is a replication role. A replication role can initiate replication connections and create and drop replication slots.
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   Not the password (always reads as ********)
rolvaliduntil timestamptz   Password expiry time (only used for password authentication); null if no expiration
rolbypassrls bool   Role bypasses every row level security policy, see Section 5.7 for more information.
rolconfig text[]   Role-specific defaults for run-time configuration variables
oid oid pg_authid.oid ID of role