データベースユーザーの設定をしましょう。
まずは、PostgreSQLをインストールしたサーバー側で、
$ su - postgres
コマンドにて、ユーザーを切り替えます。
「あれ、パスワードが分からない😰」という方、いませんか? 私もそうでしたが、postgresユーザーへの切り替えの際にパスワードが分からず、切り替えができませんでした。
そういう方は
$ sudo passwd postgres
コマンドで、パスワードを再設定してみてください。
そしたら、postgresユーザーに切り替えて、データベースユーザーの追加を行います。
$ createuser --pwprompt --interactive ユーザー名
でユーザーの追加ができます。
--pwprompt
:このオプションが指定されると、パスワード認証が可能になります。--interactive
:ユーザー名の入力を促すオプションです。
ここまでが完了したら、追加したユーザーでログインしてみましょう💪
$ psql -U ユーザー名 -d postgres -h localhost
-U
:次に指定されるユーザー名でデータベースに接続するためのオプションです。-d
:次に指定されるデータベース名で接続するためのオプションです。-h
:マシンのホスト名を指定するためのオプションです。
上記のコマンドを実行して、
postgres=#
と表示されればOKです😆
外部接続の設定をしましょう!!
外部接続とは、ローカル(ここでは自分のMac)で、PostgreSQLを使ってサーバーのデータベースに接続することです!!
postgresql.confファイルを編集します。
PostgreSQLの設定が記述されている、postgresql.confをviで編集します。
※psqlモードではなく、Postgresユーザーで行いましょう。psqlモードは\q
で終了できます。
また、ここでは、postgresユーザーのroot権限でコマンドの実行を行なってください🙏
# vi /etc/postgresql/11/main/postgresql.conf
ここで、
--Connection Settings-(60行目あたり)
の中の
listen_addresses = 'localhost'
となっているところを
listen_addresses = '*'
と変更を加えてください。
#を消すのを決して忘れないでください。設定が反映されないので!!!
pg_hba.confファイルを編集します。
次に以下のコマンドで、pg_hba.confファイルを編集します。
# vi /etc/postgresql/11/main/pg_hba.conf
90行目あたりの
# IPv4 local connections: host all all IPアドレス md5
のところに、
# IPv4 local connections: host all all IPアドレス md5 host all all 自分のIPアドレス/0 md5
と新たに自分のIPアドレスを追加してください。 これが認証されるIPアドレスになります。
ここまで編集ができたら
# /etc/init.d/postgresql restart
で再起動を行いましょう。
外部接続を試します
自分のMac側で以下のコマンドを実行し、外部接続を試します。このコマンドの意味は前回の記事を参考にしてください🙇♂️
# psql -U ユーザー名 -d postgres -h ホスト名(さくらVPSの)
これで、postgresユーザーのパスワードを入力し、ターミナル画面で
postgres=#
と表示されれば、外部接続完了です😆
今回は、データベースユーザー設定から、外部接続までを自分なりにまとめてみました🙇♂️