Part3では,PostgreSQLをWindowsマシンにインストールし,実際に使いながら基本操作を学びましょう。最初にPostgreSQLをGUIで操作できる「pgAdmin III」の導入法と使い方を説明します。その後で,CUIツールの「psql」を使った操作法を紹介します。

 前回の「LAMPの基盤,MySQLの使い方を学ぼう」で紹介したMySQLと双璧をなすオープンソースのRDBMSがPostgreSQLです。「ポストグレスキューエル」と発音しますが,略して「ポストグレス」や「ポスグレ」と呼ばれることも多々あります。日本国内では,オープンソースのデータベース・ソフトウエアとしてMySQLよりも早く普及しました。その主な理由としては,Webアプリケーションの人気が高まってきたころにはPostgreSQLを前提に書かれた書籍が多かった,日本でのユーザー会発足がPostgreSQLの方が早かった,機能的に充実していたPostgreSQLの方が日本人には好まれた,などが考えられます。

より柔軟なBSDライセンスを採用

 MySQLがGNU GPL(General Public License)と商用ライセンスというデュアル・ライセンスを採用しているのに対して,PostgreSQLはBSDライセンスを採用しています。BSDライセンスもオープンソースの定義を満たしています(最後のページの別掲記事を参照)。GPLと比較したときにBSDライセンスの大きな特徴となるのは,ソースコードの公開義務がないということです。MySQLの場合は,ソースコードを公開したくないときは,有償でサポートが用意されている「MySQL Enterprise」を利用する必要があります。

 PostgreSQLのベースとなったのは,1980年代にカリフォルニア大学バークレイ校で開発されていた「postgres」という,研究用のデータベース・ソフトウエアです。同校での開発終了後,2人の学生が改良を続け,それまで独自のデータ操作言語を持っていたpostgresでSQLを使えるようにした「Postgres95」をWebサイトで公開しました。1997年には現在の「PostgreSQL」という名称に変更し,今では商用データベース製品と比べても遜色のない豊富な機能を持つに至っています。以前はパフォーマンスの面でMySQLの後塵を拝していましたが,現在のバージョンではパフォーマンスも大幅に改善されています。

Windows環境にPostgreSQLをインストールする

 それでは,PostgreSQLをWindowsにインストールしてみましょう。PostgreSQLのバージョンには,安定版の8.3系と,ベータ版の8.4系がありますが,今回は安定版の8.3系を使うことにします。2009年4月末時点での最新バージョンは8.3.7です。

 インストール前には,あらかじめ「postgres」というユーザーを作成しておきます。その手順を,Windows VistaとWindows XPに分けて説明します。

Windows Vistaでのアカウント作成

 Windows Vistaでは,管理者権限で「コントロールパネル」→「ユーザーアカウント」→「別のアカウントの管理」→「新しいアカウントの作成」をクリックします(図1)。postgresユーザーは標準ユーザーとして作成してください。アカウントが作成できたら,パスワードも設定しておいてください。また,「コントロールパネル」→「管理ツール」→「ローカルセキュリティポリシー」→「ローカルポリシー」→「ユーザー権限の割り当て」→「サービスとしてログオン」にpostgresユーザーを追加しておきます。

図1●アカウント(postgresユーザー)の作成
図1●アカウント(postgresユーザー)の作成
[画像のクリックで拡大表示]

Windows XPでのアカウント作成

 Windows XPでは,管理者権限で「コントロールパネル」→「ユーザーアカウント」→「新しいアカウントを作成する」をクリックします。アカウント名は「postgres」とし,「次へ」をクリックします。アカウントの種類は「制限」にしてから「アカウントの作成」をクリックしてください(図2)。コンピュータの管理者権限を設定してしまうと,PostgreSQLサーバーを起動することができませんので注意してください。

図2●postgresユーザーを作成し,アカウントの種類は「制限」にする
図2●postgresユーザーを作成し,アカウントの種類は「制限」にする
[画像のクリックで拡大表示]

 また,作成したアカウントには,パスワードを設定しておきます。「ユーザーアカウント」の画面で,postgresユーザーのアイコンをクリックし,「パスワードを作成する」でパスワードを設定できます。