IMPORT FOREIGN SCHEMA — 外部サーバからテーブル定義をインポートする
IMPORT FOREIGN SCHEMAremote_schema[ { LIMIT TO | EXCEPT } (table_name[, ...] ) ] FROM SERVERserver_nameINTOlocal_schema[ OPTIONS (option'value' [, ... ] ) ]
IMPORT FOREIGN SCHEMAは外部サーバ上に存在するテーブルを表す外部テーブルを作成します。
新しい外部テーブルは、コマンドを実行するユーザに所有され、リモートのテーブルにマッチする正しい列定義とオプションで作成されます。
デフォルトでは、外部サーバ上の特定のスキーマ内に存在するすべてのテーブルとビューがインポートされます。 オプションで、インポートするテーブルを指定した部分集合に制限したり、特定のテーブルを除外することができます。 新しい外部テーブルは、すべてターゲットとなるスキーマ内に作成され、そのスキーマは既存である必要があります。
IMPORT FOREIGN SCHEMAを使用するには、外部サーバのUSAGE権限、およびターゲットとなるスキーマのCREATE権限が必要です。
remote_schemaインポート元となるリモートのスキーマです。 リモートのスキーマの具体的な意味は、使用する外部データラッパに依存します。
LIMIT TO ( table_name [, ...] )指定したテーブル名の1つにマッチする外部テーブルだけをインポートします。 外部スキーマ内に存在する他のテーブルは無視されます。
EXCEPT ( table_name [, ...] )指定した外部テーブルをインポートから除外します。 ここに列挙したものを除き、外部スキーマ内に存在するすべてのテーブルがインポートされます。
server_nameインポート元となる外部サーバです。
local_schemaインポートされた外部テーブルが作成されるスキーマです。
OPTIONS ( option 'value' [, ...] )インポート時に使用されるオプションです。 使用できるオプションの名前と値は、各外部データラッパに依存します。
サーバfilm_server上のリモートのスキーマforeign_filmsからテーブルの定義をインポートし、ローカルのスキーマfilms内に外部テーブルを作成します。
IMPORT FOREIGN SCHEMA foreign_films
FROM SERVER film_server INTO films;
上と同様ですが、2つのテーブルactorsとdirectorsだけを(それらが存在するなら)インポートします。
IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors)
FROM SERVER film_server INTO films;
IMPORT FOREIGN SCHEMAコマンドは、OPTIONS句がPostgreSQLの拡張であるという点を除き、標準SQLに準拠しています。