PostgreSQL 9.1.5文書 | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 5章データ定義 | 早送り | 次のページ |
PostgreSQLはSQL/MED仕様を部分的に実装しており、PostgreSQLの外部にあるデータに対して標準的なSQLクエリでアクセスできます。このようなデータは外部データと呼ばれます。(この用語をデータベース内の制約である外部キーと混同しないように気をつけてください。)
外部データは外部データラッパの手助けによりアクセスされます。外部データラッパは外部データソースと通信できるライブラリであり、接続確立やデータ取得といった詳細を隠蔽します。contribモジュールとして、サーバにある単純なデータファイルを読み込む外部データラッパが利用できます。その他の種類の外部データラッパは外部製品として見つかるでしょう。既存の外部データラッパがあなたの用途に合わない場合、独自のラッパを書くことができます。第50章を参照してください。
外部データにアクセスするには、特定の外部データラッパが使用するオプションの組み合わせで外部データソースへの接続方法を定義する外部サーバオブジェクトを作成する必要があります。その後、外部データの構造を定義する外部テーブルを少なくともひとつ作成する必要があります。外部テーブルは通常のテーブルと同様にクエリの中で使用できますが、外部テーブルはPostgreSQLサーバには格納領域を持ちません。外部テーブルが使われるたびに、PostgreSQLは外部データラッパに外部ソースからデータを取得するように依頼します。
外部データへのアクセスは外部データソースでの認証を必要とする場合があります。この情報は、現在のPostgreSQLロールに基づいて追加のオプションを提供することができるユーザマッピングによって提供することができます。
現在、外部テーブルは読み取り専用です。この制限は将来のリリースで緩和されるかもしれません。