IMPORT FOREIGN SCHEMA
IMPORT FOREIGN SCHEMA — импортировать определения таблиц со стороннего сервера
Синтаксис
IMPORT FOREIGN SCHEMAудалённая_схема[ { LIMIT TO | EXCEPT } (имя_таблицы[, ...] ) ] FROM SERVERимя_сервераINTOлокальная_схема[ OPTIONS (параметр'значение' [, ... ] ) ]
Описание
IMPORT FOREIGN SCHEMA создаёт сторонние таблицы, которые представляют таблицы, существующие на стороннем сервере. Новые сторонние таблицы будут принадлежать пользователю, выполняющему команду, и будут содержать корректные определения столбцов и параметры, соответствующие удалённым таблицам.
По умолчанию импортируются все таблицы и представления, существующие в определённой схеме на стороннем сервере. По желанию список таблиц можно ограничить некоторым подмножеством, или исключить из него конкретные таблицы. Новые сторонние таблицы создаются в целевой схеме, которая должна уже существовать.
Чтобы использовать IMPORT FOREIGN SCHEMA, необходимо иметь право USAGE для стороннего сервера, а также право CREATE в целевой схеме.
Параметры
удалённая_схемаУдалённая схема, из которой будут импортированы объекты. Что именно представляет собой удалённая схема, зависит от применяемой обёртки сторонних данных.
LIMIT TO (имя_таблицы[, ...] )Импортировать только сторонние таблицы с заданными именами. Другие таблицы, существующие в сторонней схеме, будут проигнорированы.
EXCEPT (имя_таблицы[, ...] )Исключить из импорта указанные сторонние таблицы. Данная команда импортирует все таблицы, существующие в сторонней схеме, за исключением перечисленных в этом предложении.
имя_сервераСторонний сервер, с которого импортируется схема.
локальная_схемаСхема, в которой будут созданы импортируемые сторонние таблицы.
OPTIONS (параметр'значение' [, ...] )Параметры, которые должны применяться при импорте. Допустимые имена параметров и их значения зависят от обёртки сторонних данных.
Примеры
Импорт определений таблиц из удалённой схемы foreign_films на сервере film_server с созданием сторонних таблиц в локальной схеме films:
IMPORT FOREIGN SCHEMA foreign_films
FROM SERVER film_server INTO films;Та же операция, но импортируются только таблицы actors и directors (если они существуют):
IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors)
FROM SERVER film_server INTO films;Совместимость
Команда IMPORT FOREIGN SCHEMA соответствует стандарту SQL, за исключением параметра OPTIONS, являющегося расширением PostgreSQL.
См. также
CREATE FOREIGN TABLE, CREATE SERVERIMPORT FOREIGN SCHEMA
IMPORT FOREIGN SCHEMA — import table definitions from a foreign server
Synopsis
IMPORT FOREIGN SCHEMAremote_schema[ { LIMIT TO | EXCEPT } (table_name[, ...] ) ] FROM SERVERserver_nameINTOlocal_schema[ OPTIONS (option'value' [, ... ] ) ]
Description
IMPORT FOREIGN SCHEMA creates foreign tables that represent tables existing on a foreign server. The new foreign tables will be owned by the user issuing the command and are created with the correct column definitions and options to match the remote tables.
By default, all tables and views existing in a particular schema on the foreign server are imported. Optionally, the list of tables can be limited to a specified subset, or specific tables can be excluded. The new foreign tables are all created in the target schema, which must already exist.
To use IMPORT FOREIGN SCHEMA, the user must have USAGE privilege on the foreign server, as well as CREATE privilege on the target schema.
Parameters
remote_schemaThe remote schema to import from. The specific meaning of a remote schema depends on the foreign data wrapper in use.
LIMIT TO (table_name[, ...] )Import only foreign tables matching one of the given table names. Other tables existing in the foreign schema will be ignored.
EXCEPT (table_name[, ...] )Exclude specified foreign tables from the import. All tables existing in the foreign schema will be imported except the ones listed here.
server_nameThe foreign server to import from.
local_schemaThe schema in which the imported foreign tables will be created.
OPTIONS (option'value' [, ...] )Options to be used during the import. The allowed option names and values are specific to each foreign data wrapper.
Examples
Import table definitions from a remote schema foreign_films on server film_server, creating the foreign tables in local schema films:
IMPORT FOREIGN SCHEMA foreign_films
FROM SERVER film_server INTO films;
As above, but import only the two tables actors and directors (if they exist):
IMPORT FOREIGN SCHEMA foreign_films LIMIT TO (actors, directors)
FROM SERVER film_server INTO films;
Compatibility
The IMPORT FOREIGN SCHEMA command conforms to the SQL standard, except that the OPTIONS clause is a PostgreSQL extension.