42.8. pg_authid

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

このカタログはパスワードを含んでいるため、中身を読むことが出来ないようにしなければいけません。 pg_rolesは、pg_authidのビューで、パスワードのフィールドは空白となっていますが中身を読むことが出来ます。

第18章にはユーザと権限管理に関するより詳細が記載されています。

ユーザの本人確認はクラスタ全体にわたる情報ですからpg_authidはクラスタの全てのデータベースで共有されます。データベースごとではなく、クラスタごとにたった1つだけpg_authidがあります。

表 42-8. pg_authid の列

名前参照先説明
rolnamename ロール名
rolsuperbool ロールはスーパユーザの権限を持っています
rolinheritbool ロールのメンバのロールの自動権限的な継承
rolcreaterolebool ロールのロール作成可能性
rolcreatedbbool ロールのデータベース作成可能性
rolcatupdatebool  ロールはシステムカタログを更新可能(スーパーユーザであってもここが真でなければ更新不可)
rolcanloginbool  ロールのログイン可能性(ロールは初期セッション認証の識別子となる)
rolconnlimitint4  ログインするロールにとって、これはロールが作成する同時接続の最大数のセット。-1は制限無しとなる。
rolpasswordtext (おそらく暗号化された)パスワード。無い場合はNULL
rolvaliduntiltimestamptz パスワード有効期限(パスワード認証でのみ使用)。NULLの場合には満了時間はない。
rolconfigtext[] ランタイムコンフィギュレーション変数のセッションデフォルト