15日目 PostgreSQL 10をWindowsにインストール
おはようございます。
昨日までで、JRuby 9.1.17にてようやくRailsをインストールし、新規アプリデータを作成できるようになりましたので、そろそろローカルで動きを確認できるようにしたいなと思っております。(昨日の記事はこちら)
その際、作成したアプリは、今後herokuへデプロイする予定であり、そのherokuのデータベースは標準として「postgreSQL」が使われているため、ローカルで動かす場合も同様にしたいと思っています。(必ずしもそうする必要はないのですが、開発環境で動かす場合も本番環境で動かす場合もできるだけ同じ状況・条件を再現したいという個人的なこだわりです。)
それで、ローカルで動かす場合の前段階として、ローカルに「postgreSQL」をインストールしていこうと思いますので、今回の記事にてその方法を説明いたします。
なお、「postgreSQL」については仕事の上で、元々何年か前から利用したことがあり、その際には古いですが、いつも「postgreSQL 10.x」のバージョンを利用していました。(2022年6月13日現在では、「14.3」が最新版のようです。)
実は今回開発するものと、仕事上で開発して使うpostgreSQLのバージョンを共有して利用する予定のため、インストールは「postgreSQL 10.x」という古いほうで行います。(一度、PCに既に入っていたものをアンインストールして、今回の記事のために再度インストールを行います。)
そのため、読者の皆様にて各自、postgreSQLをインストールする際には、「10.x」を対象にする必要はないですし、他のもっと新しいバージョン(例:11、12、13、14等)を対象にしても問題ないと思います。
恐れ入りますが、ご理解いただけましたら幸いです。
インストール時のバージョン
・Windows 10(64bit)
・PostgreSQL 10.21
(※2022年6月13日現在の「postgreSQL 10」における最新版)
参考
インストール時はこちらの2つの記事を参考にしております。
インストール手順
1. PostgreSQL 10のダウンロード(※ブラウザは「Brave」を利用)
「PostgreSQL」のダウンロードページへとアクセスします。
(ちなみにわたしは「Brave」ブラウザを利用しているため、手順1では他のブラウザ(例:「Google Chrome」、「Microsoft Edge」、「Safari」等)の場合と少し動作が異なるかもしれません。)
以下のような表示が出るかと思いますが、今回は「Windows 10(64bit)」の「PostgreSQL 10.x」を対象にするため、その2つに当てはまる箇所にあるボタンをクリックします。(今回の場合は以下の写真の吹き出しのところです。)
すると、以下のように「名前を付けて保存」というファイルをダウンロードして保存する画面が出てくると思いますが、任意のフォルダを指定して「保存」ボタンをクリックします。
(今回の場合は、「postgresql-10.21-1-windows-x64.exe」というファイルを「ダウンロード」フォルダを指定して保存します。)
※ただし、この動作は「Brave」ブラウザの場合のみであり、例えば「Chrome」ブラウザでしたら、「名前を付けて保存」という画面が出てこずにそのまま「ダウンロード」フォルダへダウンロードされるかと思います。
2. PostgreSQL 10のインストール
手順1にてファイルをダウンロードできたら、以下の写真のように、ダウンロードした場所のフォルダを開き、名前の先頭に「postgresql」という文字が付いているファイルをダブルクリックして開きます。
なお、「postgresql-10.21-1-windows-x64.exe」のうち、「10.21」は対象バージョン番号、「1」は対象バージョンにおけるリリース番号、「windows-x64」はOSを表しますので、インストールするバージョンとOSによっては、ファイルの名称が微妙に変わる可能性があります。
すると、以下のように「ユーザーアカウント制御」画面が出てくると思いますが、今回実行しようとする「postgresql-10.21-1-windows-x64.exe」に関連したデバイスへの変更に関する確認ですので、「はい」にマウスカーソルを合わせてクリックします。
そしたら、以下のようにPostgreSQLのインストーラが起動していることを表す画面が数瞬表示され、
以下のようにMicrosoft Visual C++ のRedistributable(再頒布可能)パッケージのセットアップ画面が出てくると思いますが、このパッケージはPostgreSQL の動作に必要なものですので、パッケージがインストールされていない場合は自動的にインストールしてから進みます。(特に操作は不要です。)
少し待てば、以下のようにPostgreSQLのセットアップ画面が出てくると思いますので、セットアップ画面右下の「Next >」ボタンをクリックします。
その後、PostgreSQLをインストールする場所が表示されます。今回の場合は、バージョンが「10.x」であるため、デフォルトで、「C:\Program Files\PostgreSQL\10」という場所が選択されておりますが、その場所へディレクトリが作られ、その中へインストールされます。
今回は特に変更がないかと思いますので、そのまま「Next >」ボタンをクリックします。
次に、PostgreSQLに関連するコンポーネントを選択する画面が表示されます。選択できるコンポーネントは次の通りです。※ちなみにデフォルトではすべて選択状態(画面左側のチェック項目にすべてチェックした状態)です。
1. PostgreSQL Server:PostgreSQLのサーバ
2. pgAdmin 4:PostgreSQLを用いたデータベースの作成・編集を行うGUI
3. Stack Builder:PostgreSQLの周辺ツールをインストール可能なもの
4. Command Line Tools:PostgreSQL のコマンドラインツール
特にチェックを外す必要は今のところないため、「Next >」ボタンをクリックします。
さらに、PostgreSQLのデータベースの場所を選択する画面が出てきます。ここで指定したデータベースの場所に、様々なデータが入ったり出ていったりするイメージです。こちらも特に変更がない限りはそのまま「Next >」ボタンをクリックします。
今度はスーパーユーザ「postgres」のパスワードを入力する画面が出てきますので、以下の①~③の操作を行います。ちなみに、スーパーユーザとはデータベースの作成・編集等どんな権限も持っているユーザのことで、Windowsにおける管理者権限を持つユーザのようなものです。ここで入力したパスワードは、postgreSQLへログインする際、毎回必ず入力する必要があるので、忘れないようメモなどすると良いかと思います。
上記のパスワード入力を行った後は、「PostgreSQL Server」がクライアントからの接続通信に用いるポート番号を指定可能です。特に変更がない限りはデフォルトの「5432」のまま、「Next >」ボタンをクリックします。
すると以下のように、データベースのロケールを選択する画面が出てくると思います。
恥ずかしながら、この記事を書いた時に初めてデータベースのロケールというものがあると学んだのですが、以下の記事によると地域の言語・日付・通貨に合わせて表示したり、文字列の並べ替えを行う仕組みのようです。
また、バージョンは違いますが、今回の記事と同じようにPostgreSQLをインストールしている以下の記事によれば、
以下のように、選択できるいくつかのロケールの説明と、ロケールを使わないCを選択したほうがよいという記述があります。
わたし自身は今まで、[Default locale]を利用していたため、特に不便性を感じてはいなかったのですが、せっかくですので、以下の①、②のようにロケールを使わないCを選択してやってみます。
ここで、今までに選択してきたPostgreSQLのインストール設定内容の確認画面が表示されますので、問題なければそのまま「Next」ボタンをクリックします。
最後に、PostgreSQLのセットアップを開始する確認画面が表示されますので、「Next >」ボタンをクリックして、PostgreSQLのセットアップを開始します。
以下のようにセットアップ進捗状況を表す画面が出てきますので、画面中央のバーが全て緑色になるまで、しばらく待機します。
最後に、PostgreSQLのセットアップが完了した旨を表示するメッセージ画面が表示されますが、ここで、前述のコンポーネント選択時に、「Stack Builder」の選択を外していない(チェック状態のままの)限り、画面中お言うに「Stack Builder may be ~」というチェックボックスが表示されることがあります。このチェックボックスがチェック状態のまま、「Finish」を押すと、「Stack Builder」が自動的に起動されますが、今回は起動しませんので、以下のように①でチェックを外した後に、「Finish」ボタンをクリックしてインストールを完了させます。
3. PostgreSQL 10のデータベースへの接続確認
手順1、2にてPostgreSQLのインストールを完了しましたが、念のため、データベースへ接続できることを確認します。
まず、以下の①、②の操作を行い、「SQL Shell(psql)」(PostgreSQLのコマンドラインツール)を起動します。
すると以下のように、最初は「Server[localhost]:」というメッセージが表示されるコマンドプロンプトと同じ画面が出てきますが、そのまま「Enter」キーを押します。(そのまま「Enter」キーを押すと、[ ]内の「localhost」という値がそのままサーバーのホスト名として使われます。)
今度は以下のように、2行目に「Database [postgres]:」というメッセージが出てきますが、こちらもそのまま「Enter」キーを押します。(この行も[ ]内の「postgres」という値がデータベース名として使われます。)
すると、3行目に「Port [5432]:」というメッセージが表れるので、その行でも「Enter」キーを押します。そしたら、4行目に「Username [postgres]:」というメッセージが表れるので、その行も「Enter」キーを押します。そしてまた5行目に「Client Encoding [SJIS]:」というメッセージが表れるので、そこでもまた「Enter」キーを押します。(どの行も基本的に[ ] 内の値が適用されます。)
すると6行目にて「postgres」のパスワードを聞かれるので、手順2にてスーパーユーザ「postgres」のパスワードを設定したときと同じものを入力します。
以下の画面のように「postgres=#」というメッセージが出てきたら、データベースへの接続に成功したことになります。
ちなみに、「postgres=#」と表示されている状態で、「\l」(※コマンド内の「l」は小文字の「L」)というコマンドを打ってみると、以下のようにコマンドを入力した時点でのデータベース一覧が結果として表示されます。
PostgreSQLをインストールした直後ならば、「postgres」「template0」「template1」が作成済です。
※postgreSQLのコマンドラインツールの入力を終了する場合は、画面右上の「×」ボタンをクリックするか、「\q」コマンドで終了させることができます。
おわりに
本日もここまで読んでくださってありがとうございました。
次の記事ではPostgreSQLに対して、Railsから操作できるように、ユーザーを作成して権限を与えるなど、設定してみようと思います。
次のターンへと続きます。