| どったIllustra(のちにInformixに買収される)もあります.さて,このPostgresプロジェクトのメンバーのうちの二人が大学院生となりPostgresの開発を続けました.これがPostgres95です.ここでは,GNU
Makeを採用し移植性の向上がはかられたり,DBへの問い合わせ言語をPostquelというものから標準問い合わせ言語のSQLへと変えています.このPostgres95も開発を行っていた大学院生の卒業とともに危機を迎えるわけですが,ここで,現在の開発チームの方々がこの危機を救いました.これが1996年だったのですが,96年になってしまった今,PostgreSQL95という名前はふさわしくないだろうということで,6.0というバージョンアップと共にPostgreSQLへと名称を変更しました.現在の開発チームは世界中に開発者がおり,インターネットを利用した開発形態へと形を変えています.この開発形態が現在も続いているのです.
歴史についてが長くなってしまいましたが,ここで,PostgreSQLの機能と特徴を簡単にご紹介していきます.
・SQL92のサポート
-
データベースの標準言語であるSQL92のサブセットをサポートしています.
・オープンソースでフリー
-
無償で利用でき,さらにソースコードが公開されているソフトウェアです.ライセンス形態もBSDライセンスというものを用いており,個人での利用はもちろん商用利用も可能です.
・数多くのプラットフォームで稼働
-
数多くのUNIXプラットフォームに移植されています.WindowsNTでも稼働しますが,Windows98はクライアントのみで稼働します.
・多様なプログラミングインターフェースをサポート
-
標準サポート言語だけでも,C,C++,Tcl/Tk,Perl,Java,Python,ecpgがあります.さらにサードパーティとして,PHP,ODBC,Rubyなどがあります.
・地理データ型のサポート
-
他のデータベースにはない地理データ型というデータ型を持っています.
-
このデータ型を用いると2次元の各種データを取り扱うことができます.
|
|
・追記型のデータ構造
-
削除や更新などを行っても実際に該当部分が削除されたり,書き換えられるというデータ構造ではなく,不要になったレコードに印をつけておき,新しいレコードは追加したような形で記述されるようになっています.そのため不要になったレコードを実際に消去する働きをするVACUUMという作業を行う必要があります.
・商用DB並の機能
-
RDBに必須と言われる機能である,トランザクション,インデックス,主キーといった機能はもちろん,MVCC(Multi
Version Concurrency Control)といって,更新トランザクションが走行中でも,参照トランザクションが同時走行できるという商用DB並の機能を備えています.
・あえて商用DBにおとるところ
-
差分バックアップ,トランザクションログ,レプリケーション機能の欠如がこれにあたるでしょう.ですが,トランザクションログに関しては7.1で実装予定,レプリケーションに似た機能をもつUsogresなるものがフリーで公開されていたりしますので,試してみる価値はあるかもしれません.あとはPostgreSQLの制限事項として,1レコードが8192バイト以内でなければいけないという制限があります.例えば画像や音声などをPostgreSQLに格納するにはラージオブジェクトという特殊なデータ型を利用する必要があります.
実際に使ってみないことには,なんともいえないかもしれませんが,一応,PostgreSQLとはなんなのかくらいはつかめていただけたかと思います.あとは,参考文献にあげている本を見て頂くなり,Webを参照していただくなりで実際に使ってみていただければと思います.
2. PostgreSQL7.0 について
この原稿執筆現在の最新版はPostgreSQL7.0.3です.このバージョンを元に,具体的な機能の説明を行っていきます.ここでは,誌面の都合もあり全部は書き切れません.そこで参考文献にあがっている「PostgreSQL完全攻略ガイド」の第2版は一つ前の |