THE DESIGN OF POSTGRES (1986)
February 17, 2024最初期におけるPOSTGRESの設計は、THE DESIGN OF POSTGRESで発表された。 POSTGRES少史によると、データモデルはThe POSTGRES data modelで、ルールはThe design of the POSTGRES rules systemで、ストレージはTHE DESIGN OF THE POSTGRES STORAGE SYSTEMで同時期に個別に論じられている。 THE DESIGN OF POSTGRESはPOSTGRESの全体像を解説する位置にある。
POSTGRESは、関係データベースINGRESの後継として開発された。 POSTGRESの目標は、複雑な型のオブジェクトやtriggerを扱え、クラッシュから回復する実装を単純化でき、光ディスクを利用できるようにしつつも、リレーショナルモデルから逸脱しないデータベースを維持することにある。
POSTGRESの複雑なデータ型は、今日でいうところの複数の基本型からなる複合型に相当する。 複合型の各フィールドやtriggerの宣言には問い合せ言語POSTQUELが使われていたが、POSTQUELはPostgres95でSQLに置き換えられた。
POSTQUELのデフォルトの削除や更新処理はレコードを変更せずに新しいバージョンを作成するため、クラッシュからの回復処理が単純になる。 POSTQUELでは、過去のバージョンのレコードにもアクセスできる。
THE DESIGN OF POSTGRESは、Red Book 5版の第2章で、歴史上重要なRDBMSとしてPOSTGRESを参照するために引用されている。 Red Bookでは、POSTGRESの重要な功績として複合型データ構造をあげる一方、POSTQUELによる過去のバージョンのレコードを参照する機能は成功したとはいえない評価をしている。 過去のレコードの上書きを禁じる方針は、ストレージが高速になれば、日の目を見るだろうという見方である。