pg_authidカタログはデータベース認証識別子(ロール)の情報を保持しています。ロールは"users"と"groups"の概念を包括しています。ユーザは本質的にrolcanloginフラグセットを持ったロールです。 どのようなロール(rolcanloginを持っている、持っていないに関わらず)も他のロールをメンバーとして持っていても構いません。pg_auth_membersを参照して下さい。
このカタログはパスワードを含んでいるため、中身を読むことが出来ないようにしなければいけません。 pg_rolesは、pg_authidのビューで、パスワードのフィールドは空白となっていますが中身を読むことが出来ます。
第19章にはユーザと権限管理に関するより詳細が記載されています。
ユーザの本人確認はクラスタ全体にわたる情報ですからpg_authidはクラスタの全てのデータベースで共有されます。データベースごとではなく、クラスタごとにたった1つだけpg_authidがあります。
表 44-8. pg_authid の列
名前 | 型 | 説明 |
---|---|---|
rolname | name | ロール名 |
rolsuper | bool | ロールはスーパユーザの権限を持っています |
rolinherit | bool | ロールのメンバのロールの自動権限的な継承 |
rolcreaterole | bool | ロールのロール作成可能性 |
rolcreatedb | bool | ロールのデータベース作成可能性 |
rolcatupdate | bool | ロールはシステムカタログを更新可能(スーパーユーザであってもここが真でなければ更新不可) |
rolcanlogin | bool | ロールはログイン可能(ロールは初期セッション認証の識別子となる) |
rolconnlimit | int4 | ログインするロールにとって、これはロールが作成する同時接続の最大数のセット。-1は制限無しとなる。 |
rolpassword | text | (おそらく暗号化された)パスワード。無い場合はNULL |
rolvaliduntil | timestamptz | パスワード有効期限(パスワード認証でのみ使用)。NULLの場合には満了時間はない。 |
rolconfig | text[] | ランタイムコンフィギュレーション変数のセッションデフォルト |