September 26, 2024: PostgreSQL 17 Released!
Unsupported versions: 8.0 / 7.4 / 7.3 / 7.2 / 7.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.

3.18. pg_shadow

pg_shadow contains information about database users. The name stems from the fact that this table should not be readable by the public since it contains passwords. pg_user is a publicly readable view on pg_shadow that blanks out the password field.

The Administrator's Guide contains detailed information about user and permission management.

Because user identities are cluster-wide, pg_shadow is shared across all databases of a cluster: there is only one copy of pg_shadow per cluster, not one per database.

Table 3-18. pg_shadow Columns

Name Type References Description
usename name   User name
usesysid int4   User id (arbitrary number used to reference this user)
usecreatedb bool   User may create databases
usetrace bool   not used
usesuper bool   User is a superuser
usecatupd bool   User may update system catalogs. (Even a superuser may not do this unless this attribute is true.)
passwd text   Password
valuntil abstime   Account expiry time (only used for password authentication)