Imports table definitions from a foreign server.
IMPORT FOREIGN SCHEMA <remote_schema>
[ { LIMIT TO | EXCEPT } ( <table_name> [, ...] ) ]
FROM SERVER <server_name>
INTO <local_schema>
[ OPTIONS ( <option> '<value>' [, ... ] ) ]
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.
Support for importing foreign schemas is foreign-data wrapper-specific.
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;
The IMPORT FOREIGN SCHEMA
command conforms to the SQL standard, except that the OPTIONS
clause is a Greenplum Database extension.
CREATE FOREIGN TABLE, CREATE SERVER
Parent topic: SQL Commands