T1#open-source#research

Postgres95 が PostgreSQL へ ── Berkeley Postgres が大学の外へ出た日

出典Daniel Lundin (Wikimedia Commons) · BSD · Commons で見る

メタデータ

日付
年代
1990s
Tier
T1
出典数
08
関連項目
00
Tags
#open-source#research

1996年7月9日 06:22 UTC、 Marc Fournier が新設のリポジトリに最初のコミットを置いた。 コミットメッセージは 8 語だけ ── 「Postgres95 1.01 Distribution - Virgin Sources」。 30 年後の今も同じリポジトリが PostgreSQL の開発を支えている。 UC Berkeley の研究プロジェクト POSTGRES から分岐し、 SQL の採用と外部開発体制への移行を経て生まれ変わった製品 ── それが PostgreSQL である。

MySQL がスピードで Web を取りに行ったのに対し、 PostgreSQL は妥協のない RDB という別の道を選んだ。 30 年後、 その厳格主義が Stack Overflow Developer Survey の首位という結果を生むことになる。

前史 ── Stonebraker の二つの Berkeley プロジェクト

PostgreSQL の祖先は、 UC Berkeley の Michael Stonebraker が率いた二つのプロジェクトである。

第一の Ingres(1973-1985) は、 Codd の関係モデルを学術的に最初に実装したシステムの一つ。 関係計算ベースの QUEL 言語を採用し、 のちの Oracle、 Sybase、 Microsoft SQL Server に開発者を輩出した。 Ingres 出身の Bob Epstein が 1984 年に Sybase を共同創業し、 Microsoft はその DataServer 技術を 1980 年代後半にライセンスして OS/2 版 SQL Server を出す。 両社の共同開発は 1994 年に解消され、 Windows 版のコードに対する権利は Microsoft に残った。

第二の POSTGRES(1986年実装開始) は Stonebraker の「Ingres 後」プロジェクト。 「post-Ingres」を縮めて Postgres と命名された。 関係モデルを拡張し、 ユーザ定義型・ユーザ定義関数・継承・ルールシステムを追加した「オブジェクト関係 DBMS」の最初期実装である。 1987 年に最初の「demoware」が動き、 Version 1 は 1989年6月に外部の少数ユーザへ、 Version 2 は 1990年6月、 Version 3 は 1991年。 外部ユーザの保守負担が研究時間を食い潰したため、 Berkeley のプロジェクトは Version 4.2 をもって公式に終了した。

1994-1996 ── SQL 化とオープン化

1994 年、 Berkeley 大学院生だった Andrew Yu と Jolly Chen が、 POSTGRES に SQL 言語インタプリタを載せた。 これが Postgres95 ── PostQUEL を SQL で置き換え、 コードを完全な ANSI C に書き直して 25% 小さくし、 Wisconsin ベンチマークで POSTGRES 4.2 比 30〜50% 高速になった中間バージョンである(数字は公式ドキュメントの記述)。 対話クライアント psql もここで登場した。

配布物は Berkeley の外へ出たが、 リポジトリはまだ無かった。 それが置かれたのが 1996年7月9日である。 Postgres95 1.01 のソースがまるごと取り込まれ、 以後 Marc Fournier・Bruce Momjian・Vadim Mikheev・Thomas Lockhart らが継続的にコミットを重ねていく。 同年中に、 Postgres95 という名前は長くは保たないという判断から名前は PostgreSQL に改められ(「Postgres + SQL」の意)、 版番号は Berkeley POSTGRES が 4.2 まで進めた列の続きとして 6.0 に設定された。 その PostgreSQL 6.0 が実際に公開されたのは 1997年1月29日である。

ライセンスは PostgreSQL License ── postgresql.org 自身が BSD や MIT に似た自由なオープンソース ライセンスだと説明している、 ほぼ何の制約もないものである。 MySQL の GPL/商用デュアルライセンスとは対照的で、 商用製品への組み込みが自由 ── Heroku、 Amazon RDS、 Aurora、 Google Cloud SQL のような商業サービスが PostgreSQL を内部で使えるのは、 このライセンス選択のおかげである。

設計思想 ── ACID と拡張可能性

PostgreSQL を技術的に特徴づける柱は三本ある。

第一に、 厳格な ACID 準拠。 トランザクションは原子的で、 デフォルトの分離レベルは Read Committed、 Serializable まで指定可能。 並行制御は MVCC(Multi-Version Concurrency Control) で実装され、 読み取りが書き込みをブロックせず、 書き込みも読み取りをブロックしない(Oracle は undo 経由の別機構で同じ性質を得ている)。 InnoDB 以前の MySQL に対する明確な差別化要因だった。

第二に、 拡張可能型システム(extensible type system)。 ユーザ定義型・演算子・インデックス アクセス手法を自分で追加できる。 これは Berkeley Postgres から継承された設計で、 のちに PostGIS(地理空間データ、 2001 年)、 TimescaleDB(時系列、 2017 年)、 pgvector(ベクトル検索、 2021 年-) といったゲームチェンジャー級の拡張機能を生む土壌になる。

第三に、 SQL 標準への忠実さ。 ウィンドウ関数(8.4、 2009年)、 共通テーブル式(CTE)、 JSON 型、 配列型、 範囲型、 LATERAL JOIN ── 標準機能を後から丁寧に、 かつ仕様の意味論に忠実に実装してきた。 商用 DB より早かったわけではない(分析関数は Oracle 8i が先行している)が、 「SQL 仕様書通りに動く DB が欲しい」という需要には PostgreSQL が第一選択肢になる。

2010 年代 ── 最も使われる DB へ

2000 年代、 PostgreSQL は「MySQL の影」と評されていた。 性能チューニングの難しさ、 シンプルなレプリケーション機能の欠如、 GUI ツールの少なさが弱点だった。

転機は 2010年9月20日の PostgreSQL 9.0 ── ようやく ストリーミング レプリケーション と Hot Standby がコアに入った。 続いて 9.4(2014年12月18日) で JSONB とロジカル デコーディング、 9.6(2016年9月29日) で並列実行、 そして 10(2017年10月5日) で publish/subscribe 方式の論理レプリケーションが加わる。 「MySQL より遅い」イメージは完全に過去のものとなった。

Stack Overflow Developer Survey では、 2023年に PostgreSQL が 45.55% で MySQL(41.09%)を抜き、 最も使われるデータベースの首位に立った。 同じ 2023年調査の「admired(使い続けたい)」でも 71.3% で全データベース中の首位、 「desired(来年使いたい)」も 42.3% で首位である。 2025年調査では利用率 55.6%(MySQL は 40.5%)で、 調査自身が PostgreSQL は 2023年以降 admired と desired の両方で首位だと述べている。

FIGPostgreSQL と MySQL の使用率 ── Stack Overflow 開発者調査[ 回答者に占める使用率 % ]
PostgreSQL と MySQL の使用率 ── Stack Overflow 開発者調査
MySQL ── 2023年調査41.09%
PostgreSQL ── 2023年調査45.55%
MySQL ── 2025年調査40.5%
PostgreSQL ── 2025年調査55.6%
2023年に初めて順位が入れ替わり、以後は差が開いている。ただしこの調査は回答者の自己申告による標本であって、稼働しているデータベースの台数を数えたものではない。出典: Stack Overflow Developer Survey 2023 および 2025

クラウドと AI 時代 ── PostgreSQL の第二の春

AWS の Aurora PostgreSQL(2017年10月 GA)、 Google の AlloyDB(2022 年)、 Microsoft の Azure Database for PostgreSQL、 Supabase(2020 年) ── 主要クラウドプロバイダがこぞって PostgreSQL 互換マネージドサービスを提供する流れができた。 PostgreSQL License が商用クラウドによるフォーク/拡張を妨げないためである。

そして 2023 年以降の pgvector ブーム ── LLM の RAG(Retrieval-Augmented Generation) のためのベクトル検索機能を PostgreSQL の拡張として実装する流れが、 「専用ベクトル DB(Pinecone、 Weaviate) は本当に必要か? 既存の PostgreSQL でいいのでは?」という問いを業界に投げかけている。

Codd の関係モデル論文(1970) から数えて 56 年。 PostgreSQL は、 Berkeley の二つの研究プロジェクトを土台に、 オープンソースとして 30 年間進化を続け、 LLM 時代のベクトル検索まで取り込もうとしている。 学術プロジェクトが、 商用 RDB の旗手と並ぶ存在に育った稀有な事例である。

よくある質問

PostgreSQL の版番号が 6.0 から始まるのはなぜですか。
Berkeley 時代の POSTGRES の続きとして番号を設定したためです。大学のプロジェクトは Version 4.2 で終わっており、改名後の最初の版が 6.0 になりました。6.0 の公開は1997年1月29日です。

出典

  1. 一次資料A Brief History of PostgreSQL — PostgreSQL documentation

    取得日: 2026-08-08

  2. 一次資料PostgreSQL 6.0 release notes (release date 1997-01-29)

    取得日: 2026-08-08

  3. 一次資料PostgreSQL License — postgresql.org

    取得日: 2026-08-08

  4. 一次資料Stack Overflow Developer Survey 2023: Admired and Desired — Databases

    取得日: 2026-08-08

  5. 一次資料Stack Overflow Developer Survey 2025: Technology — Databases

    取得日: 2026-08-08

  6. 三次資料PostgreSQL — Wikipedia

    取得日: 2026-08-08

最終更新:

共有