データベース管理システムのPostgreSQL(http://www.postgresql.org)を解説する連載の第2回となる。3回に分けてPostgreSQLの概要から,運用,パフォーマンス・チューニング,クラスタリングまで,PostgreSQLを活用する上で必要な情報をお届けする。

 前回はPostgreSQLの概要,他のDBMSとの比較などについて解説した。今回は,導入事例や最新状況を紹介した後,実際にPostgreSQLを導入する方法を説明する。

巨大サイトやパッケージ内部で利用

 まず,ユーザー事例を2つ紹介しよう。1つは,オンライン・ゲーム・サイト「@games」(運用はジークレスト)だ。2006年から運用開始し,いまや約100万人の会員を集める巨大サイトである。@gamesでは「セルフィ」というシステム(http://powergres.sraoss.co.jp/image/example/gcrest/atgames2_big.jpg)を採用し,ユーザーが自由に服装や髪型を設定したアバターを持てるようになっている。

 @gamesを支えるシステムは,Webサーバー7台,アプリケーション・サーバー3台,DBサーバー20台から構成される大規模なものである(図1)。

図1●@gamesを支えるシステムの構成
図1●@gamesを支えるシステムの構成
[画像のクリックで拡大表示]

 DBサーバーにはPostgreSQLを採用し,それに「Slony-I」「pgpool-II」というクラスタリング・ツールを組み合わせることで,スケールアップ可能なシステムにしている。

 システム構築はユーザー主導で進め,筆者の所属するSRA OSS,Inc.日本支社がコンサルティングが協力し,2008年の6月に稼働開始した。このシステムでは多くのDBサーバーを使っているが,オープンソースDBを採用することでコストを抑えている。

 次にパッケージ・ソフトにPostgreSQLが使われている例を紹介する。Webサーバーの認証を統合管理するツール「WisePoint」(ファルコンシステムコンサルティング社が販売)は,150社の15万ユーザーが利用している。日本語をパスワードに使用できるなど,セキュアでかつ利便性の高さを特徴とする。

 WisePointはユーザー情報の管理用にDBを必要とするが,PostgreSQLと,PostgreSQLをベースにしたパッケージ製品の「PowerGres」を採用した。DBを内蔵したパッケージ製品の場合,商用DBを採用するとコストが高いため,ユーザーへの製品導入の妨げになったり,ベンダーの利益を圧迫したりする場合がある。WisePointでは,オープンソースDBを採用し,システム全体の価格を抑えている。

PostgreSQLの導入

 それでは,PostgreSQLの導入方法に移ろう。

 PostgreSQLは移植性が高く,ほとんどのLinux,UNIX,Windows,Mac OS Xで稼働する。LinuxではディストリビューションにPostgreSQLが付属することも多い。

 Linux以外のプラットフォームや,Linuxであってもバージョンが古いなどの理由でディストリビューション付属のパッケージを使いたくない場合は,PostgreSQLのコミュニティが用意するバイナリ・パッケージが利用できる。ダウンロードは,次のサイト「http://www.postgresql.org/ftp/binary/v8.3.7/」から可能だ。ここで用意されているのは,2009年5月23日時点で以下のプラットフォームである。

Fedora 7から10(x86及びx86-64)
Red Hat Enterprise Linux 3,4,5(x86及びx86-64)
Windows(32bit)
OpenSolaris(i386,Sparc)
Solari10(i386,Sparc)

 これ以外にもPostgreSQLのポータルサイトLet's Postgres(http://lets.postgresql.jp)で以下のプラットフォームに対するバイナリからのインストール方法が詳細に紹介されている。

Ubuntu
Mac OS X
CentOS