pg_catalog

PostgreSQL ロール一覧

ロールは次のような属性を持ちます。属性とは以下表をみてもらうとわかるように「ある特別な管理操作の可不可」を決めるものです。よく混乱しがちですが、各種オブジェクトへのアクセスを制御する「権限」とは少し異なる概念です。属性の変更はalter roleで行い、権限の付与やはく奪はgrant およびrevokeにて行います。

属性 解説
ログイン権限 ログイン権限を保持するロールがユーザとなります。
スーパーユーザ権限 この権限を保持するといかなる権限検査の対象外になります(何でもできるようになる)
データベース作成権限 この権限を保持してはじめてデータベースの作成ができます。
ロール作成権限 ロールの作成、変更、削除、メンバ資格の追加削除が可能
レプリケーション用接続権限 レプリケーションを行うユーザ(ログイン権限保持前提)はこの権限も必要です。
ロール一覧(属性確認)出力SQL
SELECT rolname
,case when rolcanlogin = true then '〇'else '×' end rolcanlogin
,case when rolsuper = true then '〇'else '×' end rolsuper
,case when rolcreatedb = true then '〇'else '×' end rolcreatedb
,case when rolcreaterole = true then '〇'else '×' end rolcreaterole
,case when rolreplication = true then '〇'else '×' end rolreplication
,case when rolinherit = true then '〇'else '×' end rolinherit
FROM pg_roles order by oid
;
ロール一覧(属性確認)出力例

          rolname          | rolcanlogin | rolsuper | rolcreatedb | rolcreaterole | rolreplication | rolinherit
---------------------------+-------------+----------+-------------+---------------+----------------+------------
 postgres                  | 〇          | 〇       | 〇          | 〇            | 〇             | 〇
 pg_monitor                | ×          | ×       | ×          | ×            | ×             | 〇
 pg_read_all_settings      | ×          | ×       | ×          | ×            | ×             | 〇
 pg_read_all_stats         | ×          | ×       | ×          | ×            | ×             | 〇
 pg_stat_scan_tables       | ×          | ×       | ×          | ×            | ×             | 〇
 pg_signal_backend         | ×          | ×       | ×          | ×            | ×             | 〇
 pg_read_server_files      | ×          | ×       | ×          | ×            | ×             | 〇
 pg_write_server_files     | ×          | ×       | ×          | ×            | ×             | 〇
 pg_execute_server_program | ×          | ×       | ×          | ×            | ×             | 〇
 sooni                     | 〇          | 〇       | ×          | ×            | ×             | 〇
 udonman                   | 〇          | ×       | ×          | ×            | ×             | 〇
 online_user               | 〇          | ×       | ×          | ×            | ×             | 〇
 batch_user                | 〇          | ×       | ×          | ×            | ×             | 〇
 prjadmin                  | 〇          | ×       | ×          | ×            | ×             | 〇
(14 rows)


myposdb=#
スポンサーリンク
タイトルとURLをコピーしました