無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

35.1. 拡張の作用法

PostgreSQL は、自分自身の操作がカタログに定義された方法で駆動されているため拡張が可能です。 もし標準のリレーショナルデータベースシステムに慣れ親しんでいるのであれば、システムカタログとして一般に知られている中に、データベース、テーブル、列などの情報が格納されていることは知っていると思います。 (システムによってはデータディクショナリと呼ぶものもあります。) このカタログはユーザの目には他のテーブルと同じように見えますが、 DBMS は内部情報をそこに格納しているのです。 PostgreSQL と標準的なリレーショナルデータベースシステムの重要な違いは、 PostgreSQL はカタログにより多くの情報を格納するということです。 テーブルと列に関する情報だけではなく、データ型、関数、アクセスメソッドなどの情報も格納されています。 これらのテーブルはユーザが変更できます。 そして、 PostgreSQL は操作をこれらのテーブルに基づいて行うので、 PostgreSQL はユーザによって拡張することができるのです。 これに対して、一般のデータベースシステムでは、ソースコード内にハードコーディングされたプロシージャを変えるか、 DBMS ベンダによって特別に書かれたモジュールをロードしなければ拡張することができません。

さらに PostgreSQL サーバは動的ローディングによってユーザの作成したコードを取り入れることができます。 つまり、ユーザが新しい型か関数を実装するオブジェクトコードファイル(例えば共有ライブラリ)を指定することができ、 PostgreSQL は要求された時にロードします。 SQL で作成されたコードをサーバに追加するのはさらに簡単です。 このように演算を "その場で" 変えることができるため、 PostgreSQL は新しいアプリケーションや格納構造をラピッドプロトタイプする場合に適しています。


powered by SEO.CUG.NET