PostgreSQL

PostgreSQL ユーザを作成する

create user

ロール作成属性を保持しているユーザ(ロール)にてcreateできます。デフォルトではpostgresユーザで作成する事になるとおもいます。

作成したユーザはpg_hba.confでの制限がない限り、どのデータベースへの接続も可能で、publicスキーマに対してであれば制限なくテーブルの作成データのINSERTが可能となります。

create userによる作成
create user kawa with password 'kawa' nosuperuser nocreatedb nocreaterole inherit 
;
create roleによる作成

PostgreSQLでは「ログインできる属性を持つロールがユーザ」となりますので、create roleにて以下のようにしても同様に作成できます。(login属性の指定をしなければ単純にロールを作成するのみです)

create role yama with login password 'yama' nosuperuser nocreatedb nocreaterole inherit
;
作成例
myposdb=# create user kawa with password 'kawa' nosuperuser nocreatedb nocreaterole inherit
myposdb-# ;
CREATE ROLE  <-- create userとしても確認メッセージにはROLEと出ます

-- create roleの際は「login属性」を指定する事でcreate userと同じになります。
myposdb=# create role yama with login password 'yama' nosuperuser nocreatedb nocreaterole inherit
myposdb-# ;
CREATE ROLE


-- 作成した2つのユーザを確認します。
myposdb=# SELECT oid,rolname
myposdb-# ,case  rolsuper when 'true' then '〇' else '×' end as "super"
myposdb-# ,case  rolinherit when 'true' then '〇' else '×' end as "inherit"
myposdb-# ,case  rolcreaterole when 'true' then '〇' else '×' end as "createRole"
myposdb-# ,case  rolcreatedb when 'true' then '〇' else '×' end as "createDb"
myposdb-# ,case  rolcanlogin when 'true' then '〇' else '×' end as "canLogin"
myposdb-# ,case  rolreplication when 'true' then '〇' else '×' end as "replication"
myposdb-# ,rolconnlimit as "connLimit"
myposdb-# FROM pg_roles where rolcanlogin = true order by oid
myposdb-# ;
  oid  |   rolname   | super | inherit | createRole | createDb | canLogin | replication | connLimit
-------+-------------+-------+---------+------------+----------+----------+-------------+-----------
    10 | postgres    | 〇    | 〇      | 〇         | 〇       | 〇       | 〇          |        -1
 16384 | sooni       | 〇    | 〇      | ×         | ×       | 〇       | ×          |         2
 16397 | udonman     | ×    | 〇      | ×         | ×       | 〇       | ×          |        -1
 16440 | online_user | ×    | 〇      | ×         | ×       | 〇       | ×          |        -1
 16441 | batch_user  | ×    | 〇      | ×         | ×       | 〇       | ×          |        -1
 16442 | prjadmin    | ×    | 〇      | ×         | ×       | 〇       | ×          |        -1
 16827 | kawa        | ×    | 〇      | ×         | ×       |        | ×          |        -1
 16828 | yama        | ×    | 〇      | ×         | ×       |        | ×          |        -1
(8 rows)


myposdb=#

ユーザ一覧

スポンサーリンク
コピペで使う