これを読めば PostgreSQL の全てが分かる!PostgreSQL ガイドブック (1)
日本 PostgreSQL ユーザ会 稲葉 香理
初出:日本 PostgreSQL ユーザ会会報 No.5 2008.2.29
このガイドブックは、PostgreSQL の全てが分かる!と偉そうなことを書いていますが、技術的な細かい面はさておき、PostgreSQL の全体像をつかめるようにという観点で書いています。これから RDBMS を使おうと思っているのだけど、どの RDBMS がいいのかな?と思っている方には、 PostgreSQL 全体をみてみることによって自分が使いたい RDBMS のイメージにあっているかの判断材料になることを、他の RDBMS は知っているけど PostgreSQL は何が違うのかな?と思っている方には PostgreSQL 全体をみることでざっくりとした違いをつかめるようになることを期待しています。
PostgreSQLとは
PostgreSQL(ポストグレスキューエル)は、オープンソースソフトウェア(以下 OSS)として開発されているリレーショナルデータベース管理システム (RDBMS) です。多機能で高性能な RDBMS であることやライセンスなどの面から、特に Web システムのバックエンドデータベースを中心として利用が拡大しています。
RDBMS そのものについては『RDBMS入門』でも解説していますので、参考にして下さい。
PostgreSQLの歴史
PostgreSQL は、RDBMS としては最も初期に実装され様々な RDBMS 製品の基にもなった Ingres に端を発しています。 Ingres の後、Ingres の後 (post) ということで Postgres と名づけられ、データベース界では著名なカリフォルニア大学のマイケル・ストンブレーカー教授のもと 大学の研究プロジェクトとしてオブジェクト指向の要素を取り入れたオブジェクト・リレーショナルデータベースとして実装されました。その後、研究プロジェクトの継続として 大学院生によって Postgres95 という名前で 2 年ほどメンテナンスされたのち開発体制の変更と問い合わせ言語が 独自の PostQUEL から標準の SQL に対応したことから名称を変え、現在の PostgreSQL となりました。 (実はまた昔の Postgres という名前に戻そうという動きも開発コミュニティ内にあります) PostgreSQL となってからは、2006 年に 10 周年を迎えました。Ingres 時代から数えると実に 20 年以上開発が行われている 歴史あるデータベースです。
PostgreSQL となってからは ほぼ 1 年に 1 回程度メジャーバージョンアップが行われています。以下で、現在サポート対象である PostgreSQL のバージョンと その変更点を見てみたいと思います。
バージョン | リリース年月 | 主な変更点 |
---|---|---|
7.4 | 2003年11月 | 自動バキューム(), IPv6() |
8.0 | 2005年1月 | PITR (, ), テーブルスペース(, ), Windows 対応() |
8.1 | 2005年11月 | SMP における性能向上(), 2 相コミット() |
8.2 | 2006年12月 | ウォームスタンバイ(), GIN 索引の追加(), 性能向上() |
8.3 | 2008年2月 | 更新性能向上(), 全文検索(), JIS2004 対応(), XML データ型() |
8.4 | 2009年7月 | Window関数(), 再帰SQL(), 大規模対応(), 運用性向上() |
9.0 | 2010年9月 | レプリケーション(, ), 一括権限変更(), 列/条件トリガ() |
… 信頼性の向上
… 性能の向上
… SQL の規格対応
PostgreSQL のバージョンアップの移り変わりから受ける全体的な印象は、7.x 系では SQL の標準文法の実装や信頼性や運用性を高める機能の実装等が中心でした。8.x になってからは 機能の実装は既にある機能の強化や耐障害性の強化などが中心となり、SMP マシンでの性能向上や既に実装されている機能の改良による 性能向上などが中心となってきています。ここ数バージョンでは バージョンアップのたびに性能がよくなっているのが分かります。また、PostgreSQL 本体にクラスタやレプリケーション機能はありませんが、サードパーティー製のツールと組み合わせて 分散 DB やレプリケーションが実現されてきました。
PostgreSQLの利用状況
独立行政法人情報処理推進機構 (IPA) が 2008年1月に発表した「我が国のOSS活用ITソリューション市場の現状と将来展望に関する調査」によると、ミドルウェア領域で利用されるオープンソースソフトウェアの種類は、Apache HTTP Server 64.9 % についで PostgreSQL が 46.9 % と第 2 位です。オープンソースソフトウェアの導入は、OS (Linux), Web サーバ (Apache), メールサーバ (sendmail), ファイル共有サーバ (Samba) などの順で利用が進みミドルウェアの本格導入はこれからとみられていましたが、すでに sendmail や Samba よりも利用が多いという結果が得られており、オープンソースソフトウェアの RDBMS 導入も本格的に進んできています。また、オープンソースソフトウェアの RDBMS の利用状況とみると、PostgreSQL (35.2 %), MySQL (29.8 %), Firebird (2.0 %) と PostgreSQL の採用が最も多くなっています。
詳しくは、記事「PostgreSQL利用の現状」もご覧ください。
(2008年11月18日公開)
(2011年4月17日更新)
(2) では、PostgreSQL の情報の探し方、主な特徴についてご紹介します!