PostgreSQLの進化に迫る

PostgreSQLの成長今回は、PostgreSQLの機能面や性能面がどのように進化、成長してきたかを紹介します。PostgreSQLは、2001年ごろのバージョン7.1の時点で、前回記事で紹介した信頼性を確保するWALや、追記型アーキテクチャによる効率的なトランザクション制御の仕組みを備えていま

高塚 遙(たかつか はるか)

2009年10月9日 20:00

PostgreSQLの成長

今回は、PostgreSQLの機能面や性能面がどのように進化、成長してきたかを紹介します。

PostgreSQLは、2001年ごろのバージョン7.1の時点で、前回記事で紹介した信頼性を確保するWALや、追記型アーキテクチャによる効率的なトランザクション制御の仕組みを備えていました。また、SQL言語としても、一通りの機能をサポートしていました。PostgreSQLは、ここからさらに成長していきます。

図1は、7.0以降の各バージョンのソースコード一式の総サイズ(ビルド前)に、各バージョンの主な拡張個所を付記したものです。およそ10年間の間にコード量が倍以上に成長しています。それでは、機能項目ごとにどのように拡張されているかを紹介していきます。

SQL言語の基本機能について

SQL言語としてのコア機能サポートは、バージョン7.1時点で、ビューや副問い合わせ、外部結合、カーソル、手続き言語(ストアドプロシージャ)、バイナリラージオブジェクトなどの機能を持ち、ほぼ一通りの完成をみています。

それ以降は、いくつかの欠けていた機能の追加や、SQL標準規格に合わすための構文の追加修正、プランナの改善などが行われています。

追加の基本機能としては、スキーマ定義対応(バージョン7.3)、カーソルでのデータ更新(バージョン8.3)への対応、「ALTER TABLE」など、データ定義構文の拡充などがあります。また、トランザクション処理関連では、SAVEPOINTのサポート(バージョン8.0)、二相コミットのサポート(バージョン8.2)などが追加されています。

特に近年、PostgreSQLは、しばしばSQL標準規格に合わす修正が適用されています。これにより後方互換性が失われるケースもありますが、もともとメジャーバージョンアップに際しては、データ移行はできても、前バージョンとのSQLコマンドの互換性はそれほど重視されません。この点は商用データベース製品と異なります。現在、PostgreSQLは「SQL:2003」規格のコア部分について、ほとんどをサポートしています。

SQLは、データを取得したり操作したりする条件を記述して、手順の詳細は指定しない言語です。PostgreSQLはコストベースのプランナを備えていて、SQLコマンドを実現するためのすべての方式(プラン)のコストを算出して、最も低コストの方式で処理を実行します。

このプランナ部分は商用データベース製品と比べ幾分見劣りしていて、SQL文の書き方に注意が必要でした。バージョン7.3から8.3くらいまでの数年で少しずつプランナが改善され、また、ビットマップインデックススキャンなど新たな検索方式が追加され、悪いプランが実行されてしまうケースは少なくなっています。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30