他のバージョンの文書9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

2. PostgreSQL 小史

現在 PostgreSQL として知られる(また一時 Postgres95 と呼ばれていた)オブジェクトリレーショナルデータベース管理システムは、カリフォルニア大学バークレー校で書かれた POSTGRES というパッケージから派生しています。10 年以上にわたる開発の背景を持ち、 PostgreSQL はどこでも入手できる最も進歩したオープンソースデータベースで、多版型同時実行制御(MVCC: multiversion concurrency control) を提供し、ほとんどすべての SQL の構文をサポートし(副問い合わせ、トランザクション、ユーザー定義データ型とユーザ定義関数を含みます)、幅広い各種言語との連係が可能です(C、C++、Java、Perl、Tcl、Python を含みます)。

2.1. バークレイ校 POSTGRES プロジェクト

POSTGRES DBMS の実装は 1986 年に始まりました。当初のシステムの概念は The design of POSTGRES で発表され、最初のデータモデルの定義は The POSTGRES data model で紹介されました。当時のルールシステムの設計は The design of the POSTGRES rules system で説明されました。ストレージ管理の理論や構造は The design of the POSTGRES storage system で詳しく示されました。

Postgres はそれ以来いくつかの主要なリリースを重ねてきました。最初の「デモウェア」システムが 1987 年に使用可能になり、1988 年の ACM-SIGMOD コンファレンスで紹介されました。 The implementation of POSTGRES で説明されているバージョン 1 は 1989 年 6 月に一部の外部ユーザーにリリースしました。最初のルールシステムに対する批評の結果(A commentary on the POSTGRES rules system) をもとにルールシステムは再設計 (On Rules, Procedures, Caching and Views in Database Systems)され、バージョン 2 が 1990 年 6 月に新しいルールシステムを実装してリリースされました。バージョン 3 は 1991 年に登場し、複数ストレージ管理機構、改善された問い合わせエクゼキュータ、書き直された書き換えルールシステムのサポートが追 加されました。ほとんどの部分について、Postgres95 まで引き続いた各リリース(下記を参照)では移植性と信頼性に焦点をあてていました。

POSTGRES はさまざまな研究用、そして実際の業務アプリケーションの実装に使われてきています。その中には、金融データ分析システム、ジェットエンジン性能監視パッケージ、小惑星追跡データベース、医療情報データベース、幾つかの地図情報処理システム (GIS) などがありました。 POSTGRES はさらにいくつかの大学では教育用のツールとしても使われています。最後に、Illustra Information Technologies 社がコードを整理し商用化しました。(同社は後に Informix 社に吸収合併され、現在は IBM 社が所有しています。) POSTGRES は 1992 年末から始まった Sequoia 2000 科学計算プロジェクトの主要なデータ管理システムになっています。

1993 年には外部ユーザーコミュニティの大きさは約 2 倍に膨れました。データベースの研究に費されるべき時間がプロトタイプコードの保守とサポートに取られていることが次第に明らかになってきました。このサポートの重荷を減らすために、バークレー POSTGRES プロジェクトはバージョン 4.2 をもって公式に終了しました。

2.2. Postgres95

1994 年に Andrew Yu と Jolly Chen が POSTGRES に SQL 言語インタプリタを追加しました。引き続いて Postgres95 が Web 上でリリースされ、オリジナルの POSTGRES バークレイコードのオープンソースによる後続として世界への独自の道を歩み始めました。

Postgres95 のコードはすべて ANSI C 準拠となるように書き直され、これまでに膨れ上がったコードの 25% を整理することで、スリムになりました。多くの内部改造によって性能と保守性が改善されました。Postgres95 リリース 1.0.x は、 POSTGRES バージョン 4.2 に比べ Wisconsin Benchmark で約 30〜50% 速く動作しました。バグ修正以外では、下記の大きな改善がありました。

2.3. PostgreSQL

1996 年になると "Postgres95" という名前が時代の試練に耐えられなくなったことが明らかになりました。そこで、オリジナルの POSTGRESSQL の能力を持つもっと最近のバージョンとの関係を反映する、PostgreSQL という新しい名前を選びました。同時に、元々バークレー POSTGRES プロジェクトで始まった連番に戻す番号の 6.0 で始まるバージョン番号を設定しました。

Postgres95 開発での重点はバックエンドのコードに存在する問題点を特定し、原因を理解することにありました。 PostgreSQL においては、保守作業を続けつつも、特徴や能力を強化することに重点が移りました。

主な PostgreSQL での機能強化点には以下のものがあります。