ユーザーとパスワードの設定

PostgreSQLをインストールした時点で、自動的にデータベースの管理ユーザーであるpostgresユーザーが作成されます。ただ、このユーザーのパスワードは未設定の状態であるため、アカウントロック状態となっており、このままではrootユーザーからsuコマンドでスイッチする方法以外でのログインができません。

postgresユーザーのパスワード設定(OSユーザー)

そこで、postgresユーザーでログインできるようにパスワードを設定しておきます。パスワードの設定は「passwd <ユーザー名>」コマンドで行えます。

# passwd postgres
ユーザー postgres のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:

「新しいパスワード」プロンプトが表示されるので、任意のパスワードを設定してください。

postgresユーザーのパスワード設定(PostgreSQLユーザー)

前述でpostgresユーザーのパスワードを設定しましたが、そのユーザーはOSのユーザーです。次に設定するのはミドルウェア(PostgreSQL)が管理するユーザーです。同じユーザー名でも両者は異なるユーザーとなるため混合しないように注意して下さい。

まず、OSのpostgresユーザーにスイッチします。

# su - postgres
-bash-4.2$

続いて、psqlコマンドを実行します。psqlコマンドはPostgreSQL対話的ターミナルであり、PostgreSQLに対して各種コマンドを発行して、その結果を確認したり、設定を変更することができます。

-bash-4.2$ psql
psql (9.5.2)
"help" でヘルプを表示します.
postgres=#

コマンドに成功するとプロンプトが「postgres=#」に変わります。このプロンプトになったら以下のコマンドを実行し、PostgreSQLが管理するユーザーの方のpostgresユーザーに対してパスワードを設定します。

postgres=# alter role postgres with password 'postgres';
ALTER ROLE

上記サンプルでは「postgres」という文字列のパスワードを設定しています。

これでパスワードの設定は完了したので、psqlを終了します。終了方法は、「\q」と入力しEnterキーを押下するか、Ctrl+dで行えます。

postgres=# \q
-bash-4.2$

パスワード設定後はPostgreSQLを再起動し、設定を反映させます。なお、PostgreSQLの再起動はrootユーザーで行います。

# systemctl stop postgresql-9.5
# systemctl start postgresql-9.5

以上でパスワードの設定は完了です。