クリエイティブなWeb制作に
役立つ情報メディア

WindowsでPostgreSQLが使いたいゾウ

Xamppは手っ取り早く開発に着手するのにとても便利でよく使います。
データベースも付属しているのですが、標準ではMySQLしか使用できません。
今回、XamppでPostgreSQLを使いたいという状況が出てきたので実際にやってみました。

インストーラーをダウンロード

まずこのリンクからWindowを選びます
https://www.postgresql.org/download/

「Download the installer」をクリックしましょう。
ダウンロードバージョンを選ぶ画面になるので
特に理由がなければ最新をインストールしておきましょう。
2018/08現在 10.4が最新です。

「Select your version」で最新バージョンを選択し、
「Select your operating system」はWindowsを選びますが、32bit版と64bit版があります。
自分のWindowsのbitに合ったほうを選んでおきます。
Windowsのbitの確認方法はこのへんとかで確認してください。
https://support.microsoft.com/ja-jp/help/958406

インストール

インストーラーのダウンロードが完了したら、インストールしましょう。
この時、インストーラーを右クリックして「管理者として実行」を押します。

インストールフォルダ選択

インストール先はXamppインストールフォルダと同じ
「C:\xampp\PostgreSQL」にインストールしました。
インストール先は好きな場所でいいので以降のパスは読み替えてください。

何をインストールするか選択

インストールしたいオプションを選びます。

オプションは4つあり、概要は以下のようになっています。

PostgreSQL Server
データベースサーバーの本体。必須。

pgAdmin4
データベース管理ツール。
ブラウザで動作するアプリでMySQLで言うphpMyAdminのようなもの。
データベースの内容を確認できるので入れておいて損はないでしょう。
もちろん普段使用しているクライアントツールで接続することもできます。

Stack Builder
まだ使っていないのでよく知らないけど、
PostgreSQL用の便利ツールをインストールする管理マネージャー的なものらしいです。

Command Line Tools
pg_dumpとかのコマンドがインストールされます。
インストールしておいて損はないので入れておきましょう。

データベースの保存先を選択

データベースのデータ保存先を選びます。
「インストールフォルダ\10\data」となっていると思います。
特に理由がなければデフォルトのままでいいでしょう。

パスワード設定

パスワード?うまいの?
デフォルトではログインユーザー名は「postgres」が用意されています。
ローカル環境用なのでパスワードも「postgres」にしておきました。

接続ポート設定

ポート番号はデフォルトの「5432」でいいでしょう。

ロケール設定

ロケール設定は「C」に変更しておきます。
「C」は–no-localeオプションの事を表し、
言語依存した処理をしない設定であるため、指定した場合と比べて処理が高速になるようです。

逆にC以外に設定すると、インデックスが使われない場合があったり、
性能面や検索処理への影響があったりと問題が多いため「C」にする事が定石のようです。

特にLC_COLLATEとLC_CTYPEのロケール設定は、「データベース初期化時」しか設定できないため、
この設定が日本語のソート順、大文字小文字を区別するかなどに関係してきます。
この2つは初期化する以外に途中で変更できないので注意が必要です。

インストール実行

この後何回かNextを押すとインストール進行画面が出てくるので終わるまで待ちます。

環境パス設定

「Command Line Tools」をインストールしていると、
「C:\xampp\PostgreSQL\bin」にpg_ctl.exeなど様々な便利ツールがインストールされています。
コマンドプロンプトからPostgreSQLコマンドを実行したい時、毎回このフォルダまで移動しないと実行できない状態です。

環境パス設定は絶対必要というわけではないですが、
設定しておくとどこからでも実行できるようになって利便性があがります。

Windowsキー+Rの「ファイル名を指定して実行」から

を実行するとシステムのプロパティが開きます。
システムの詳細設定タブの環境変数ボタンを押して、ユーザー環境変数の
変数欄がPathと書かれたところをクリックして、「C:\xampp\PostgreSQL\10\bin」を追加します。

環境パスが設定できたことを確認するには
Windowsキー+Rの「ファイル名を指定して実行」から

でコマンドプロンプトを起動して、

を実行して、バージョンが表示されれば成功です。

サーバー起動

まずはPostgreSQLサーバーを起動します。
PostgreSQLに接続するためには、バックグラウンドで
DBサーバーが起動していないと繋がりません。

MySQLだとXamppコントロールパネルでStartボタンを押せば勝手にやってくれるのですが、
PostgreSQLを使う場合、自分で行う必要があります。

インストーラーからPostgreSQLをインストールすると
自動的にサービス一覧にPostgreSQLを起動するためのコマンドが登録されています。
確認するにはXamppコントロールパネルのServicesを押して、
「postgresql-x64-10」といった行を探しましょう。
インストールバージョンによって若干違います。

「状態」が実行中ならバックグラウンドでサーバーが起動中となり、
PostgreSQLに接続する事ができるようになります。

デフォルトだと「スタートアップの種類」が自動になっていて、
Windowsが起動した時に自動でサーバーが起動するようになっています。

使わない時まで常時実行中だと余計なリソースを食いそうなので
私は手動に変更して、使用しない時は停止させるようにしています。

コマンドプロンプトだと「管理者モード」で下記のコマンドを実行すれば
指定したサービス名を直接起動終了させる事ができるのでバッチ化しておくといいかもしれません。

接続確認

インストール時にpgAdminをインストールしていると
「C:\xampp\PostgreSQL\10\bin」の中に
ゾウさんマークのpgAdmin4、通称ゾウさんがいると思います。

ゾウさんを実行すると、ブラウザが起動して、このような画面が出てくれば成功です。

他のDBクライアントツールで接続したい場合は、
ホスト : localhost
ポート : 5432
ユーザ : postgres
パスワード : postgres
で接続できると思います。

これでXamppのローカル環境からPostgreSQLに接続する環境ができました。
この後はユーザーやテーブルを作成していく事になりますが、
今回はPostgreSQLのインストールという事でここまでです。

Kat by