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.

45.56. pg_shadow

The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. It shows properties of all roles that are marked as rolcanlogin in pg_authid.

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.

Table 45-57. pg_shadow Columns

Name Type References Description
usename name pg_authid.rolname User name
usesysid oid pg_authid.oid ID of this user
usecreatedb bool   User can create databases
usesuper bool   User is a superuser
usecatupd bool   User can update system catalogs. (Even a superuser cannot do this unless this column is true.)
passwd text   Password (possibly encrypted); null if none. See pg_authid for details of how encrypted passwords are stored.
valuntil abstime   Password expiry time (only used for password authentication)
useconfig text[]   Session defaults for run-time configuration variables