IMPORT FOREIGN SCHEMA — 外部サーバからテーブル定義をインポートする
IMPORT FOREIGN SCHEMAremote_schema
[ { LIMIT TO | EXCEPT } (table_name
[, ...] ) ] FROM SERVERserver_name
INTOlocal_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に準拠しています。