- Choco Soft - https://www.choco.org.uk/chocodb -

国産の雄PostgreSQLを使いこなそう Part3 ロール


ロール(role)とは、一般的に他のデータベースでDBユーザーと言われている物が相当します。
PostgreSQLはインストールすると自動的に「Postgres」ユーザーと「Postgres」ロールを作成します。

その後「Postgres」ユーザーでデータベースを作成したり、他の権限を持つユーザーを作成します。

Linuxの場合、ルートユーザーになると無条件で他のユーザーになれますのでそれを利用します。

具体的には以下のコマンドになります。

>su postgres

「Postgres」ユーザーになってから、実行ファイルを使いPostgreSQLにログインします。

例)実行ファイルがUSRフォルダ配下にある時(/usr/pgsql-12/bin/psql)

>/usr/pgsql-12/bin/psql -U postgres

ログインするとコマンドプロンプトの左側が「#」になりますので、すぐにわかります。

ユーザー名が「ABC」でパスワードを「1234」にする時
#CREATE ROLE ABC LOGIN PASSWORD ‘1234‘;

※上記では権限としてLOGIN(接続)を付与しています。

ロールのパスワードを変更する時は「Alter」文を使います。(ここ注意)
alter role postgres password ‘5678‘;

※上記では管理者権限である「Postgres」のパスワードを「5678」に変更しました。

今度はデータベース(db)に対して、ユーザー(ABC)が何でもできるように権限を付与してみます。

まず権限付与対象のデータベースにチェンジします。

>\c db
これで「db」に移動しました。

db=> GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ABC;

※上記では「db」と言う名前のデータベースに対して、スーパーユーザー権限をユーザー「ABC」に付与しました。

続きます。

Part4に続きます。