pg_shadow カタログはデータベースユーザの情報を保持しています。パスワード情報を含んでいるのでこのテーブルは一般には公表されないようにとこのような名前が付けられています。pg_user はパスワードフィールドを見えないようにしてある pg_shadow を一般ユーザ向けに公開したビューです。
第17章 にはユーザと権限管理に関するより詳細が記載されています。
ユーザの本人確認はクラスタ全体にわたる情報ですから pg_shadow はクラスタのすべてのデータベースで共有されます。データベースごとではなく、クラスタごとにたった一つだけ pg_shadow があります。
表 41-26. pg_shadow の列
| 名前 | 型 | 参照先 | 説明 |
|---|---|---|---|
| usename | name | ユーザ名 | |
| usesysid | int4 | ユーザ ID(このユーザを参照する任意の番号) | |
| usecreatedb | bool | ユーザのデータベース作成可能性 | |
| usesuper | bool | ユーザはスーパーユーザ | |
| usecatupd | bool | ユーザはシステムカタログを更新可能。(スーパーユーザであってもここが真でなければ更新不可。) | |
| passwd | text | (おそらく暗号化された)パスワード | |
| valuntil | abstime | パスワード有効期限(パスワード認証でのみ使用) | |
| useconfig | text[] | ランタイムコンフィギュレーション変数のセッションデフォルト |