読者です 読者をやめる 読者になる 読者になる

STDIO

システム開発やフクロウ、節約などの情報をI/Oするためのブログ

PostgreSQLのインストール(Windows 7)

オープンソースのデータベース管理システム「PostgreSQL」(ポストグレスキューエル、通称ポスグレ)をWindows 7にインストールする方法をまとめました。

本手順により、コマンドラインツール「psql」、GUI管理ツール「pgAdmin」も併せてインストールされます。

環境

  • OS: Windows 7 Professional (64bit)
  • PostgreSQL: 9.5.7

PostgreSQLのダウンロード

下記リンクにアクセスし、PostgreSQLのバージョンと対象OSを選択して[DOWNLOAD NOW]をクリックします。

Download PostgreSQL | EnterpriseDB

PostgreSQL ダウンロード1

  • Select your version: PostgreSQL 9.5.7
  • Select your operating system: Windows x86-64

PostgreSQL ダウンロード2 [here]をクリックし、「postgresql-9.5.7-1-windows-x64.exe」を任意のフォルダーにダウンロードします。

PostgreSQLのインストール

ダウンロードした「postgresql-9.5.7-1-windows-x64.exe」を右クリックし、[管理者として実行]をクリック。

PostgreSQL インストール1 セットアップの起動後、[Next]をクリック。

PostgreSQL インストール2 PostgreSQLのインストール先を確認し、[Next]をクリック。
デフォルトは「C:\Program Files\PostgreSQL\9.5」です。

PostgreSQL インストール3 データベースと各種設定ファイルの格納先を指定し、[Next]をクリック。今回は「C:\pg」を指定しました。

デフォルトは「C:\Program Files\PostgreSQL\9.5\data」ですが、変更することをおすすめします。 「C:\Program Files」はUACによる保護対象のため設定ファイルの編集に手間がかかりますし、VirtualStoreの影響でファイルの変更が想定通りに反映されない可能性もあります。

PostgreSQL インストール4 データベースのスーパーユーザー(管理者)である「postgres」のパスワードを入力し、[Next]をクリック。

PostgreSQL インストール5 データベースに接続する際のポート番号を指定し、[Next]をクリック。デフォルトは5432です。

PostgreSQL インストール6 データベース作成時のロケールを選択し、[Next]をクリック。 デフォルトは[Default locale]ですが、「C」に変更することをおすすめします。

[Default locale]では通常、"Japanese_Japan.932"というロケールになりますが、「C」と比較して文字列比較やソートのパフォーマンスが悪くなります。

PostgreSQL インストール7 [Next]でインストールを開始します。

PostgreSQL インストール8 上記画面が表示されればインストール完了です。 チェックボックスを外して[Finish]をクリック。

チェックボックスが有効の場合、追加ソフトウェア・ドライバーをインストールするための「スタックビルダ」が起動しますが、後から手動で起動することもできます。

環境変数Pathの設定

前述のインストールだけでは環境変数Pathが設定されないため、psqlなどをコマンド名のみで実行することはできません。

psql --version
'psql' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

今回はコマンドプロンプトでPathを追加します。

まず最初に、下記コマンドで現在のシステム環境変数「Path」をユーザー環境変数「PathBackup」にバックアップします。

setx PathBackup -k "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path"

「成功: 指定した値は保存されました。」と表示されれば正常に保存されています。

上記の値を反映するためコマンドプロンプトを一度終了し、今度は管理者用コマンドプロンプト(右クリックして「管理者として実行」)で下記コマンドを実行します。

setx /M Path "%PathBackup%;C:\Program Files\PostgreSQL\9.5\bin"

※インストール先・バージョンはお使いの環境に合わせてください。

「成功: 指定した値は保存されました。」と表示されればPathの追加は完了です。

コマンドプロンプトを再起動し、psqlを実行してみます。

psql --version
psql (PostgreSQL) 9.5.7

pg_hba.confの設定

データベースに対して接続を許可するホストを設定します。

設定ファイルは「pg_hba.conf」(host-based authentication: ホストベース認証)で、インストール時に指定したデータ格納先に存在します。(今回の例ではC:\pg)

デフォルトではローカル(127.0.0.1)のみ許可されており、他のPCやサーバーからは接続できません。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

LAN内のMac(192.168.1.xxx)から接続を試みたところ、次のエラーメッセージが表示されました。

psql -h 192.168.1.yyy -p 5432 -d postgres -U postgres
psql: FATAL:  no pg_hba.conf entry for host "192.168.1.xxx", user "postgres", database "postgres", SSL off

接続を許可するためには、pg_hba.confに次の行を追加します。

host    all             all             192.168.1.xxx/32        md5

※「192.168.1.xxx」には接続元のIPアドレスを指定してください。

pg_hba.confの詳しい設定方法については、下記リンク先をご確認ください。

https://www.postgresql.jp/document/pg954doc/html/auth-pg-hba-conf.html

まとめ

PostgreSQLのインストール手順について解説しました。

簡単な手順で本格的なデータベース環境が構築できます。

データベースやPostgreSQLに興味のある方は、是非一度試してみてください。

今後、PostgreSQLを学習・運用する過程で新たに必要な設定が見つかり次第、内容を追加していきます。