ゼロから始めるPostgreSQL〜DB作成+ロール作成〜

postgresql DB関係
この記事は約3分で読めます。

前回はインストールとサーバ起動+アクセスするところまでやりました。

前回記事は以下のリンクをどうぞ。

今回は、DB作成やロールの作成方法をみていきます。Let’s postgresql!!

Advertisements

DBを作成する

createdb db_name

psqlログイン後の表示でユーザのロールを把握する

psql db_nameでログインした後、以下のようにでたらスーパユーザ

db_name=#

スーパユーザ以外の場合

db_name=>

PostgreSQLにおけるユーザ管理概念〜ロール〜

PostgreSQLは、ロールという概念を使用してデータベースへの接続承認を管理します。 ロールは、その設定方法に応じて、データベースユーザ、またはデータベースユーザのグループとみなすことができます。 ロールはデータベースオブジェクト(例えばテーブルや関数)を所有することができます。 またロールは、どのオブジェクトに誰がアクセスできるかを制御するために、それらのオブジェクトに対しての権限を他のロールに割り当てることができます。 更に、ロールのメンバ資格を他のロールに与えることもできます。 そのため、メンバとなったロールは別のロールに割り当てられた権限を使用することができます。

https://www.postgresql.jp/document/10/html/user-manag.html

ロールという概念を用いてデータベース接続管理をしている。

ロールには、データベースユーザとデータベースユーザのグループがある。

ロールがデータベースObjを所有(管理)する。ロールがどのオブジェクトに誰がアクセスできるか制御。ロールがロールに権限割り当てをする。

わかるようなわからないような。。

とりあえず、ロールという概念がユーザみたいなもんかな。

ロールの作成方法

CREATE ROLE name;

SQLコマンドでロールを作成する。付与できる属性は色々ある。いかにあるもの以外にも、superuserやcreaterole、replicationなどもある。

ログイン権限(属性)の付与

CREATE ROLE name LOGIN;

ログインオプションをつけて、ログイン権限付与

データベース作成権限(属性)

CREATE ROLE name CREATEDB;

パスワード設定(属性)ロール

CREATE ROLE name PASSWORD 'password';

複数属性を設定する場合

CREATE ROLE name LOGIN CREATEDB PASSWORD 'password';  

一気に付与可能

ロール作成後の付与属性の変更

ALTER ROLEコマンドで可能

ALTER ROLE name [option]

作成済みのロールの確認方法

SELECT rolname FROM pg_roles;

pg_rolesからrolnameカラムを取得すればOK

作成済みロールの削除方法

DROP ROLE name; 

対象を選択してDROPでOK

まとめ

とりあえず、ポスグレの特徴的なロールっていう概念に不慣れながら、少し作業してました。

次はrailsからアクセスして対応します。DMLは他とそんなに変わらない(癖がない)と言われているので、一応そのうち確認だけして特徴をみて行こうかな。紹介はしょったんですが、replicationを実際では使ってます。

コメント