postgreSQLのユーザーの一覧・追加・削除
#データべース
✅ ユーザーの一覧
【方法①】一番カンタン!
- \du:ユーザー一覧
https://gyazo.com/f0124da3ce99922cf3fae7a6768e4935
【方法②】
- Postgresqlにはシステムカタログというものがある。
システムカタログ=リレーショナルデータベースの管理システムがテーブルや列の情報などのメタデータの概要と内部的な情報を格納する場所。たくさんのテーブルがある。
公式:https://www.postgresql.jp/document/12/html/catalogs-overview.html
- この中のpg_userテーブルに作成済のユーザー情報が載っている。
公式:https://www.postgresql.jp/document/12/html/view-pg-user.html
https://gyazo.com/8aca90e76116a40fd4c724b4f92686ec
- 一覧を取得する方法
1. psql -U postgresでログイン
2. select * from pg_user;で情報を見られる。スーパーユーザー権限があるかここで見られる。
(ユーザーだけ取得したければ 、select usename from pg_user;)
- 今、私のpostgresqlにはhattorisakiというユーザーと、postgresという2つのユーザーが作成されてることがわかる。
- https://gyazo.com/5baac4f979bf70fac1bbe00b56a062e2
✅ ユーザー追加
1. スーパーユーザーでログインする psql -U postgres ←macOSユーザーであるhattorisakiではログインしないように。
2. create user <作成したいユーザー名>; ※公式ではcreateuserとあるが繋げて入力するとエラーになる
3. \duして作成できてるかチェック
create userの詳しい使い方は→公式:https://www.postgresql.jp/document/12/html/app-createuser.html
★ create userとcreate roleの違い
= デフォルトで与えられる権限が LOGIN (ログイン権限がある)か NOLOGIN (ログイン権限がない)のどちらなのかという違い。
userだとLOGIN、roleだとNOLOGIN。
- 試しにyukiとhideはuserで作り、hideはroleで作ってみた
https://gyazo.com/84938320257a45b67dd15c6998a76f69
★ 作成時にwith SUPERUSERでスーパーユーザー権限をつけられる。
✅ユーザー削除
- drop userコマンドを使う→公式:https://www.postgresql.jp/document/12/html/app-dropuser.html
ユーザー削除:drop user <ユーザー名>;
複数消したい:<ユーザー1>, <ユーザー2>
#SQL