こんにちは、さるまりんです。
最近なぜだか何かとPostgreSQLで作業することが増えてます。
データベース接続のためにユーザーを作成する際のメモです。
PostgreSQLでユーザー(USER)を作成
psql
を起動してCREATE USER
コマンドで作成するのですが、md5をかけたパスワードをコマンドに渡す方法があるのでその方法でやってみます。
1. md5
でパスワード文字列をハッシュ化
md5コマンドで文字列をハッシュ化します
$ md5 -s [パスワードにしたい文字列]
MD5 ("パスワードにしたい文字列") = [ハッシュ化された文字列]
パスワードにした文字列を”salumarinenopassword”とするとこうなります。
$ md5 -s salumarinenopassword
MD5 ("salumarinenopassword") = f162bfc8e758c6632e3bf4d06355377b
2. psql
を管理者権限で起動
$ psql -U postgres -h [ホスト] [データベース]
(※postgresユーザーが管理者として存在する前提です。)
3. CREATE USER
をステップ1でできた文字列を指定して実行
CREATE USER [ユーザー名] WITH ENCRYPTED PASSWORD 'md5[ステップ1でできた文字列]'
ユーザー名を”salumarine”、パスワードを”salumarinenopassword”とするとこうです。
CREATE USER salumarine WITH ENCRYPTED PASSWORD 'md5f162bfc8e758c6632e3bf4d06355377b'
(※こんなパスワードのユーザーはどこにもいないので試さないでくださいね。)
PASSWORD
を指定する時に「md5
」の文字列がハッシュ化された文字列の前にくることをお忘れなくです。
作業しているときに調べてて知ったのですが、同じようにユーザーを作る際にCREATE USER
とCREATE ROLE
というのがあるようです。それについてはまた改めて。
読んでくださってありがとうございます。
ではまた!