PostgreSQLのインストール for Windows

PostgreSQL(ポストグレスキューエル-よくポスグレやポストグレスと呼ばれます)は、オープンソースのデータベースソフトウェアです。商用でも使える程に高機能なので、MySQLと共に、非常によく使われます。小規模な案件は、この二種類のデータベースで構築されることがほとんどなので、一般的なWebデザイナーにとってはMySQLと併せて設定等ができるようになっておくといいでしょう。
PostgreSQLはMySQLと異なり、例えばXAMPP等を使う場合でも併せてインストールされませんので、個別にインストールする必要があります。このページでは、Windows環境に単体でPostgreSQLをインストールする方法をご紹介します。
PostgreSQLのダウンロード
まずはPostgreSQLをダウンロードしてきましょう。オフィシャルサイトのダウンロードページにアクセスしてください。バージョンが9.0系と8.x系があるのですが、どちらでもかまいません。9系は新しいバージョンということもあり、現状実際に稼働しているシステムは8系の方が多いと思います。現状を考えて8系にするか、先を見越して9系にするかは考え方によるので一概には言えません。今回は9系を選択することにしました。
また、ダウンロードするファイルですが、Windows用にインストールしますので、Windows版インストーラをダウンロードします。表示された画面の[Windows版インストーラのダウンロード]のすぐ下の、[ダウンロードサイト(EnterpriseDB)]をクリックしてください。

ダウンロードの選択をする画面になります。32bitバージョンのWindowsをお使いの方は[Win x86-32]を。64bitバージョンのWindowsをお使いの方は[Win x86-64]をクリックしてください。

ぱっと見登録しないとだめ!?的な画面になりますが大丈夫。しばらく待っていると、自動的にダウンロードのダイアログボックスが開きます。もし開かない場合は、画面内の[this link]をクリックしてください。ファイルは、デスクトップなど分かりやすい場所にダウンロードしてください。

PostgreSQLのインストール
PostgreSQLをインストールします。ダウンロードしたインストーラファイルをダブルクリックで起動させます。

セットアップウィザードが表示されます。[ Next ]をクリックして次に進めます。

PostgreSQLをインストールするディレクトリ(フォルダ)を決めます。特に問題がなければ、デフォルトのままでかまいません。[ Next ]をクリックして次に進めます。

PostgreSQLのインストールの際には、スーパーユーザ(管理者権限を持つユーザ)である、postgresというWindowsアカウントが作成されます。そのpostgresのパスワードをここで設定します。※余談ですが、postgresのユーザはWindowsのユーザアカウントでは見えない設定になっています。
上側の入力欄にパスワードを、下側の入力欄にも同じものを再入力してください。このパスワードは忘れないように気をつけてくださいね。[ Next ]をクリックして次に進めます。

PostgreSQLで使用するポートを選択します。特に理由がない限り、そのままで問題ありません。[ Next ]をクリックして次に進めます。

言語の設定オプションです。[Default locale]でも自動判別してくれるようですが、ここでは明示的に日本語を選択します。[Japanese, Japan]を選択の上、[ Next ]をクリックして次に進めます。

インストールの準備ができました。[ Next ]をクリックして、インストールを実行します。

インストールが完了するまでしばらく時間がかかります。

下記の画面が表示されたら、これでPostgreSQLのインストールは完了です。[Stack Builder may be~]というチェック欄がありますが、これは補助的な追加ソフトウェアのインストールを行う、スタックビルダというプログラムを起動するかということです。参考までに、ここではスタックビルダを起動させてみます。チェックを付けてから、[Next]をクリックしてください。

スタックビルダ
スタックビルダが立ち上がります。赤枠のリストボックスから、[PostgreSQL 9.0 on port 5432]を選択し、[次へ(N)]をクリックしてください。

フォルダ階層が表示されます。試しに[+]部分をクリックして、展開してみてください。これらの中から、お好きなソフトウェアをインストールできます。

ここでは「こういうものがある」ということを説明したかっただけなので、キャンセルします。[キャンセル(C)]をクリック→[はい(Y)]をクリックしてキャンセルしてください。なお、あとからスタックビルダを立ち上げるには、 [PostgreSQLをインストールしたフォルダ]\bin\stackbuilder.exeから再度起動させることができます。

動作確認してみる
さて、PostgreSQLの動作確認をしてみましょう。ここでは、PHPを使って動作確認したいと思います。下記のコードをDocument Rootより上に、適当なファイル名で配置してください。なお、赤字の[postgrestest]部分は、先ほどご自身で設定したpostgresのパスワードに置きかえてください(ポートを変えた方は、port=5432部分を任意のポートに変更してください)。
$conn = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=postgrestest");
if (!$conn) {
die('接続できませんでした');
}
echo '接続に成功しました';
?>
ここでは、Document Rootの最上位ディレクトリに、index.phpと名前を付けてファイルを保存しました。これでhttpからアクセス(http://localhost/index.php)して、下記のように表示されれば成功です。

画面が真っ白になってしまう場合
display_errorsがOFFになっている可能性があります。ローカル環境ではエラーが出る方が望ましいので、php.ini内の
display_errors = Off
という部分を、
display_errors = On
にしてApacheを再起動させてみてください。
Call to undefined function pg_connect()となった場合
もし、下記のように表示された場合は、php.iniで、PostgreSQLの拡張モジュールを読み込ませなければなりません。

その場合、まずはPHPのエクステンションディレクトリが設定されているかを確認してください。設定した記憶のない方は、エクステンションディレクトリを登録しておくを参考に、登録しておいてください。
次に、php.iniからエクステンションを読み込ませます。php.ini内の、下記のような場所を探してください。私の環境では、600行付近にありました。
これを、下記のように;(セミコロン)を外してコメントを解除します。
Apacheを再起動し、これでもう一度先ほどのテストスクリプトを実行してみてください。「接続に成功しました」と表示されれば成功です。
コメント
この記事へのコメントはまだありません。


