« postgres ユーザー権限全部与え | メイン | centos7 gateway 調べ方 »
2018年07月03日
postgres ユーザー周り
ユーザー作成
root@pghost01:# su - postgres
postgres@pghost01:~$ createuser -D -E -R -S -P pguser01
createuser の引数の意味は以下の通りです:
-D : 新しいユーザに対してデータベースの作成を禁止
-E : データベースに格納するユーザのパスワードを暗号化
-R : 新しいユーザに対して新しいロールの作成を禁止
-S : 新しいユーザはスーパーユーザにはならない
-P : 新しいユーザのパスワードプロンプトを表示
もしくは
su - postgres
psql
create user myfrwk
パスワード設定
psql
\password username
現行ユーザー一覧
\du
これでパスワードつきのユーザー作成ができたわけだが、
pg_hba.conf次第では
local all all trust
とかなってれば、接続時にパスワード聞かれない。
local all all md5
とかにすればパスワード聞かれる。
さらに、接続先データベースをユーザーごとに制限したい場合もpg_hba.confで
local cakedb cakeuser md5
host cakedb cakeuser 127.0.0.1/32 md5
細かく指定すればok(再起動要るよ)
新規DB作成
-bash-4.2$ createdb mydb -E UTF8 --template=template0 --locale=ja_JP.UTF-8
psql
grant all on DATABASE mydb to myfrwk;
※権限削除は
REVOKE all on DATABASE mydb from myfrwk;
そのユーザーでつないでからの
psql -U myfrwk -d mydb;
テーブル作成
いつも忘れる
投稿者 muuming : 2018年07月03日 09:51