pg_authid

PostgreSQL 9.0.0文書
前のページ | 巻戻し | 第 45章システムカタログ | 早送り | 次のページ

# 45.8. `pg_authid`

`pg_authid`カタログはデータベース認証識別子（ロール）の情報を保持します。 ロールは"ユーザ"と"グループ"の概念を包括しています。 ユーザは本質的に`rolcanlogin`フラグセットを持ったロールです。 どのようなロール（`rolcanlogin`を持っている、持っていないに関わらず）も他のロールをメンバとして持っていても構いません。 `pg_auth_members`を参照してください。

このカタログはパスワードを含んでいるため、第三者が内容を読むことができないようにしなければいけません。 `pg_roles`は、`pg_authid`のビューで、パスワードのフィールドは空白となっていますので内容を読み取ることができます。

第20章でユーザと権限管理に関するより詳細について説明します。

ユーザの本人確認はクラスタ全体にわたる情報ですので、`pg_authid`はクラスタのすべてのデータベースで共有されます。 データベース毎ではなく、クラスタ毎にたった1つだけ`pg_authid`が存在します。

表 45-8. `pg_authid`の列

名前 | 型 | 説明
--- | --- | ---
`rolname` | `name` | ロール名
`rolsuper` | `bool` | ロールはスーパーユーザの権限を持っています
`rolinherit` | `bool` | ロールは自動的にメンバとして属するロールの権限を継承します
`rolcreaterole` | `bool` | ロールはロールを作成することができます
`rolcreatedb` | `bool` | ロールはデータベースを作成することができます
`rolcatupdate` | `bool` | ロールはシステムカタログを直接更新することができます（スーパーユーザであってもここが真でなければ更新不可）
`rolcanlogin` | `bool` | ロールはログインすることができます。つまりロールはセッションを始める認証の識別子となることができます
`rolconnlimit` | `int4` | ログイン可能なロールでは、これはロールが確立できる同時実行接続数を設定します。 -1は制限無しを意味します。
`rolpassword` | `text` | （おそらく暗号化された）パスワード。無い場合はNULLです。 パスワードが暗号化された場合、この列にはmd5という文字の後に32文字の16進数表記のMD5ハッシュが含まれます。 MD5ハッシュはユーザのパスワードとユーザ名を連結したものになります （例えばユーザjoeのパスワードがxyzzyの場合、PostgreSQLはxyzzyjoeをMD5でハッシュ化したものを格納します）。
`rolvaliduntil` | `timestamptz` | パスワード有効期限（パスワード認証でのみ使用）。 NULLの場合には満了時間はありません。

前のページ | ホーム | 次のページ
`pg_attribute` | 上に戻る | `pg_auth_members`