他のバージョンの文書9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

5.10. 外部データ

PostgreSQLはSQL/MED仕様を部分的に実装しており、PostgreSQLの外部にあるデータに対して標準的なSQLクエリでアクセスできます。このようなデータは外部データと呼ばれます。(この用語をデータベース内の制約である外部キーと混同しないように気をつけてください。)

外部データは外部データラッパの手助けによりアクセスされます。外部データラッパは外部データソースと通信できるライブラリであり、接続確立やデータ取得といった詳細を隠蔽します。contribモジュールとして、サーバにある単純なデータファイルを読み込む外部データラッパが利用できます。その他の種類の外部データラッパは外部製品として見つかるでしょう。既存の外部データラッパがあなたの用途に合わない場合、独自のラッパを書くことができます。第50章を参照してください。

外部データにアクセスするには、特定の外部データラッパが使用するオプションの組み合わせで外部データソースへの接続方法を定義する外部サーバオブジェクトを作成する必要があります。その後、外部データの構造を定義する外部テーブルを少なくともひとつ作成する必要があります。外部テーブルは通常のテーブルと同様にクエリの中で使用できますが、外部テーブルはPostgreSQLサーバには格納領域を持ちません。外部テーブルが使われるたびに、PostgreSQLは外部データラッパに外部ソースからデータを取得するように依頼します。

外部データへのアクセスは外部データソースでの認証を必要とする場合があります。この情報は、現在のPostgreSQLロールに基づいて追加のオプションを提供することができるユーザマッピングによって提供することができます。

現在、外部テーブルは読み取り専用です。この制限は将来のリリースで緩和されるかもしれません。