Skip to main content
Version: Next

pg_authid

The pg_authid table in the pg_catalog schema contains information about database authorization identifiers (roles). A role subsumes the concepts of users and groups. A user is a role with the rolcanlogin flag set. Any role (with or without rolcanlogin) might have other roles as members. See pg_auth_members.

Because 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.

Because user identities are system-wide, pg_authid is shared across all databases in a Apache Cloudberry system: there is only one copy of pg_authid per system, not one per database.

columntypereferencesdescription
oidoid Row identifier
rolnamename Role name
rolsuperboolean Role has superuser privileges
rolinheritboolean Role automatically inherits privileges of roles it is a member of
rolcreateroleboolean Role might create more roles
rolcreatedbboolean Role might create databases
rolcanloginboolean Role might log in. That is, this role can be given as the initial session authorization identifier
rolreplicationboolean Role is a replication role. That is, this role can initiate streaming replication and set/unset the system backup mode using pg_start_backup and pg_stop_backup.
rolbypassrlsbooleanRoles bypasses every row-level security policy.
rolconnlimitint4 For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no limit
rolenableprofilebooleanRole has a profile.
rolpasswordtext Password (possibly encrypted); NULL if none. If the password is encrypted, this column will begin with the string md5 followed by a 32-character hexadecimal MD5 hash. The MD5 hash will be the user's password concatenated to their user name. For example, if user joe has password xyzzy, Apache Cloudberry will store the md5 hash of xyzzyjoe. Apache Cloudberry assumes that a password that does not follow that format is unencrypted.
rolvaliduntiltimestamptz Password expiry time (only used for password authentication); NULL if no expiration
rolprofileoidObject ID of the associated profile ID in pg_profile
rolaccountstatussmallintAccount status of the role.
rolfailedloginsintegerNumber of failed login attempts.
rolpasswordsetattimestamptzTime when the password was last set.
rollockdatetimestamptzTime when the role was locked.
rolpasswordexpiretimestamptzTime when the password will expire.
rolresqueueoid Object ID of the associated resource queue ID in pg_resqueue
rolcreaterextgpfdboolean Privilege to create read external tables with the gpfdist or gpfdists protocol
rolcreaterexhttpboolean Privilege to create read external tables with the http protocol
rolcreatewextgpfdboolean Privilege to create write external tables with the gpfdist or gpfdists protocol
rolresgroupoid Object ID of the associated resource group ID in pg_resgroup