## 42.42. `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`.

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 42.42. `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 may create databases
`usesuper` | `bool` |  | User is a superuser
`usecatupd` | `bool` |  | User may update system catalogs. (Even a superuser may not do this unless this column is true.)
`passwd` | `text` |  | Password (possibly encrypted)
`valuntil` | `abstime` |  | Password expiry time (only used for password authentication)
`useconfig` | `text[]` |  | Session defaults for run-time configuration variables