LoginSignup
2

More than 5 years have passed since last update.

PostgreSQL 俺のチートシート [ロール編]

Last updated at Posted at 2017-01-13

ロール

ロールとは、ユーザまたはグループの事

  • 既存ロールの確認
[psql]# \du
  • ロールの新規作成

adminユーザの新規作成ならば、

[psql]# CREATE ROLE admin WITH SUPERUSER LOGIN PASSWORD 'password'

 SUPERUSER  | NOSUPERUSER
 CREATEDB   | NOCREATEDB
 CREATEROLE | NOCREATEROLE
 CREATEUSER | NOCREATEUSER
 INHERIT    | NOINHERIT
 LOGIN      | NOLOGIN

などの種類を同時に付与できる

  • 権限

スーパーユーザと所有者(オブジェクトを作成したユーザ)は、
デフォルトで全ての権限を持っている。

SELECT、CREATE、ALLなど

  • 権限の追加
GRANT 権限 ON 対象(テーブル名またはスキーマ名) TO ロールまたはpublic
  • 権限の付与
[psql]# \z

testrole=arwd/postgres
と表示された場合、postgresがtestroleに権限付与した、という意味

  • 権限の削除

権限の削除は、権限付与者またはSUPERUSERのみ可能。

REVOKE 権限 ON 対象(TB名またはDB名) FROM ロール
  • ロールの変更
ALTER ROLE ロール WITH CREATEROLE CREATEDB

ロールの変更は、CREATE ROLE持ちロールまたはSUPERUSER
CREATE ROLE持ちロールは、SUPERUSER以外のロールを変更可能。

以上

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2