PostgreSQLの概要とアーキテクチャ
はじめに
PostgreSQLは多機能であることで知られた代表的なオープンソースのデータベース製品です。2001年ごろには日本語の格納が不自由なく行え、トランザクションや、論理ホットバックアップ、外部結合、行ロックなどの機能をサポートしていました。また、その当時からWebサイトのバックエンドなどを中心に実用システムにもしばしば採用されてきました。
本連載ではPostgreSQLの機能や性能とアーキテクチャについて、最新バージョン8.4系を元に解説します。
既にPostgreSQLを説明する記事や書籍は多いのですが、それだけに、これまで読者の皆さまが目にしたものが幾分古いPostgreSQLを対象としている可能性があります。PostgreSQLは今日でも進化のスピードを落としていません。本連載で、最新のPostgeSQLについて理解いただければ幸いです。
PostgreSQLの概要
PostgreSQLは、カルフォルニア大学バークレー校で1970年代に研究として開発されたIngresを祖先に持ちます。
Ingresの後継ということで「Postgres」という名前が付き、その後、独自問い合わせ言語でなく、SQLをサポートするようになったので「PostgreSQL」と名前が変わりました。なお、「Postgres」という呼称は現在でも使われます。「ポストグレエスキューエル」「ポストグレス」と発音します。日本語ではしばしば「ポスグレ」と略されます。
現在、PostgreSQLはインターネット上で連絡を取り合う「多くの開発者」により、メンテナンスと追加機能の開発が行われています。よく組織化されていて、数名からなるコアチームと、それ以外の開発者とが区分されています。
開発者の多くは、OSベンダー企業、PostgeSQLを使用しているIT企業、PostgreSQLに関するサービスを提供するIT企業に属しています。著作権表示ではカルフォルニア大学のほかに「PostgreSQL Global Development Group」が権利保持者となっていますが、これが上記の「多くの開発者」を示します。オープンソース製品でよく行われる方式です。
PostgreSQLはBSDライセンスで配布されています。ソースコードのほか、Windows、Solaris、Mac OS X、各種Linuxディストリビューションなど主要なOS向けのバイナリパッケージも用意されています。PostgreSQLは多くのUNIX系のOSとWindowsで動作します。
また、いくつかのベンダーから次のような、付加的なソフトウエアやサポートサービスを加えた商用パッケージも販売されています。PostgreSQLのWebサイトと商用製品のURLを示します。
・PostgreSQLのWebサイト(http://www.postgresql.org/)
・商用パッケージPowerGresのWebサイト(http://powergres.sraoss.co.jp/)
・商用パッケージPostgres PlusのWebサイト(http://www.enterprisedb.com/)
PostgreSQLはおおよそ1年に1つのメジャーバージョンアップをします。メジャーバージョンアップとは8.3.xから8.4.xのようにバージョン番号の先頭2けたが変わるもので、機能追加がなされます。
8.4.0から8.4.1のように最後の1けただけが変わるものは、マイナーバージョンアップと呼ばれます。マイナーバージョンアップはバグ修正のために行われます。
また、最近では、アルファ版をリリースするようになりました。次のメジャーバージョンの機能の一部が適用された評価検証用のバージョンです。