LoginSignup
2
2

More than 1 year has passed since last update.

[PostgreSQL]ロール(ユーザー)を作成する方法

Last updated at Posted at 2021-05-01

はじめに

PostgreSQLでロールを作成したのでメモしておきます

ロールとは

下記記事の言葉を借りさせてさせていただくとPostgreSQLのロールとは一般的にユーザーと呼ばれるものとグループと呼ばれるものの二つの性質を兼ね備えたものとあります。

ロールの作成

まずpostgreにログインします。

$ psql -U postgres

新しいロールを作成するにはCREATE ROLEコマンドを使います。

例えばロール名taroでパスワードを11111111で設定したい場合以下のように入力します。

postgres=# CREATE ROLE taro WITH PASSWORD '11111111';

CREATE ROLEと表示されれば成功です。
SELECT ROLNAME FROM pg_roles;でちゃんと表示されているか確認してみましょう

postgres=# SELECT ROLNAME FROM pg_roles;
 rolname
ーーーーーーーー
 postgres
 taro
(2 行)

ログイン権限の付与

そしてロールを作成した後はデータベースに接続できるように、ログイン権限を持たせておきましょう。
ALTER ROLEコマンドを使って以下のように記述します。

postgres=# ALTER ROLE taro LOGIN;
ALTER ROLE

データベースの作成権限を付与

postgres=# ALTER ROLE taro WITH CREATEDB;

オプション

CREATE ROLE name WITH option [ ... ] ]optionの書式を示しておきます。

    SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password'
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

多すぎるのであまり覚える必要はないと思います。
筆者が使ったのはCREATEDBCREATEROLELOGINぐらいです

参考

2
2
0

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
2