IMPORT FOREIGN SCHEMA — importe les définitions d'une table d'une instance différente
IMPORT FOREIGN SCHEMAschema_distant[ { LIMIT TO | EXCEPT } (nom_table[, ...] ) ] FROM SERVERnom_serveurINTOschema_local[ OPTIONS (option'valeur' [, ... ] ) ]
IMPORT FOREIGN SCHEMA crée une table externe
qui représente une table existant dans une autre instance.
L'utilisateur qui lance la commande sera propriétaire de la nouvelle
table externe. La table sera créée avec des définition de colonnes
et options en cohérence avec ce qui est définit pour l'instance
distante.
Par défaut, toutes les tables et vues, existantes dans un schéma particulier de l'instance distante, sont importées. Il est possible de limiter la liste des tables à un sous ensemble, ou d'exclure des tables spécifiques. Les nouvelles tables externes sont toutes créées dans le schéma cible, qui doit déjà exister.
Pour utiliser IMPORT FOREIGN SCHEMA, l'utilisateur
doit avoir le droit USAGE sur l'instance
distante, ainsi que le droit CREATE sur le
schéma cible.
schema_distantC'est le schéma distant depuis lequel on réalise l'import. La signification spécifique d'un schéma distant dépend du wrapper de données distantes (foreign data wrapper) en cours d'utilisation.
LIMIT TO ( nom_table [, ...] )Importe seulement les tables distantes qui ont été spécifiées. Toutes les autres tables du schéma distant seront ignorées.
EXCEPT ( nom_table [, ...] )Exclut toutes les tables distantes qui ont été spécifiées. Toutes les tables du schéma distant seront importées sauf celles définies dans cette liste.
nom_serveurLe serveur distant depuis lequel on importe.
schéma_localLe schéma dans lequel sont créées les tables externes pour y importer les données distantes.
OPTIONS ( option 'valeur' [, ...] )Options à utiliser lors de l'import. Les noms et valeurs autorisés d'options sont spécifiques à chaque wrapper de données distantes.
On importe la définition des tables depuis un schéma distant
films_distants du serveur
serveur_film, en créant une table étrangère dans le
schéma local films :
IMPORT FOREIGN SCHEMA films_distants
FROM SERVER serveur_film INTO films;
Comme précédemment mais en important seulement les deux tables
acteurs et
réalisateurs (s'ils existent) :
IMPORT FOREIGN SCHEMA films_distants LIMIT TO (acteurs, réalisateurs)
FROM SERVER serveur_film INTO films;
La commande IMPORT FOREIGN SCHEMA se conforme au
standard SQL standard, sauf sur la clause
OPTIONS qui est une extension
PostgreSQL.