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

CREATE FOREIGN DATA WRAPPER

名前

CREATE FOREIGN DATA WRAPPER -- 新しい外部データラッパを定義する

概要

CREATE FOREIGN DATA WRAPPER 

name


    [ HANDLER 

handler_function

 | NO HANDLER ]
    [ VALIDATOR 

validator_function

 | NO VALIDATOR ]
    [ OPTIONS ( 

option

 '

value

' [, ... ] ) ]

説明

CREATE FOREIGN DATA WRAPPER は新しい外部データラッパを作成します。 外部データラッパを定義したユーザがその所有者となります。

外部データラッパの名前はデータベース内で一意でなければなりません。

スーパーユーザのみが外部データラッパを作成することができます。

パラメータ

name

作成する外部データラッパの名前です。

HANDLER handler_function

handler_function は、事前に登録された、外部テーブル向けの関数実行を受け付けるために呼び出される関数の名前です。 ハンドラ関数は引数を取らず、 fdw_handler 型を返すものでなければなりません。

ハンドラ関数を持たない外部データラッパを作成することもできますが、こうしたラッパを使用する外部テーブルは宣言することができるだけでアクセスできません。

VALIDATOR validator_function

validator_function は、外部データラッパへ与える一般的なオプションと、その外部データラッパを使用する外部サーバ、ユーザマップおよび外部テーブルへ与えるオプションを検査するために呼び出される、前もって登録された関数の名前です。 検証関数がない、または NO VALIDATOR が指定された場合、オプションは作成時に検査されません。 (実装に依存しますが、実行時外部データラッパは無効なオプション指定を無視することも拒絶することもできます。) 検証関数は2つの引数を取らなければなりません。 1つは text[] 型で、システムカタログ内に格納されたオプションの配列を含みます。 もう1つは oid 型で、オプションを含むシステムカタログのOIDです。 戻り値の型は無視されます。 関数は ereport() 関数を使用して無効なオプションを報告しなければなりません。

OPTIONS ( option ' value ' [, ... ] )

この句は新しい外部データラッパ用のオプションを指定します。 許されるオプション名と値は外部データラッパごとに固有であり、外部データラッパの検証関数を使用して検証されます。 オプション名は一意でなければなりません。

注釈

PostgreSQL の外部データ機能はまだ活発な開発がなされています。 問い合わせの最適化がまだ開発が進んでいません(そしてほとんどがラッパに任せられています)。 したがって将来の性能向上の余地が大きくあります。

無意味な外部データラッパ dummy を作成します。

CREATE FOREIGN DATA WRAPPER dummy;

file_fdw_handler ハンドラ関数を持つ外部データラッパ file を作成します。

CREATE FOREIGN DATA WRAPPER file HANDLER file_fdw_handler;

いくつかオプションを付けた外部データラッパ mywrapper を作成します。

CREATE FOREIGN DATA WRAPPER mywrapper
    OPTIONS (debug 'true');

互換性

CREATE FOREIGN DATA WRAPPER はISO/IEC 9075-9 (SQL/MED)に従います。 ただし、 HANDLER 句と VALIDATOR 句は拡張であり、 PostgreSQL では標準の LIBRARY 句と LANGUAGE 句は実装されていません。

しかし、SQL/MED機能は全体としてまだ従っていないことに注意してください。

関連項目

ALTER FOREIGN DATA WRAPPER , DROP FOREIGN DATA WRAPPER , CREATE SERVER , CREATE USER MAPPING , CREATE FOREIGN TABLE

powered by SEO.CUG.NET