Documentation PostgreSQL 8.4.22 > Référence > Commandes SQL > CREATE FOREIGN DATA WRAPPER | |
CREATE DOMAIN | CREATE FUNCTION |
CREATE FOREIGN DATA WRAPPER — définit un nouveau wrapper de données distantes
CREATE FOREIGN DATA WRAPPER nom [ VALIDATOR fonction_validation | NO VALIDATOR ] [ OPTIONS ( option 'valeur' [, ... ] ) ]
CREATE FOREIGN DATA WRAPPER crée un nouveau wrapper de données distantes. L'utilisateur qui définit un wrapper de données distantes devient son propriétaire.
Le nom du wrapper de données distantes doit être unique dans la base de données.
Seuls les super-utilisateurs peuvent créer des wrappers de données distantes.
Le nom du wrapper de données distantes à créer.
fonction_validation est le nom d'une fonction déjà enregistrée qui sera appelée pour vérifier les options génériques passées au wrapper de données distantes, au serveur distant et aux correspondances d'utilisateurs (user mappings) utilisant le wrapper de données distantes. Si aucune fonction de validation n'est spécifiée ou si NO VALIDATOR est spécifié, alors les options ne seront pas vérifiées au moment de la création. (Il est possible que les wrappers de données distantes ignorent ou rejettent des spécifications d'options invalides à l'exécution, en fonction de l'implémentation) La fonction de validation doit prendre deux arguments : l'un du type text[], qui contiendra le tableau d'options, tel qu'il est stocké dans les catalogues systèmes, et l'autre de type oid, qui sera l'OID du catalogue système contenant les options. Le type de retour est inconnu ; la fonction devrait indiquer les options invalides grâce à la fonction ereport().
Cette clause spécifie les options pour le nouveau wrapper de données distantes. Les noms et valeurs d'options autorisés sont spécifiques à chaque wrapper de données distantes. Ils sont validés par la bibliothèque du wrapper de données distantes. Les noms d'options doivent être uniques.
Pour le moment, la fonctionnalité de wrapper de données distantes est très rudimentaire. Le but des wrappers de données distantes, des serveurs distants et des correspondances d'utilisateurs est de stocker cette information de manière standard, afin qu'elle puisse être interrogée par les applications intéressées. Une application utilisant cette fonctionnalité est dblink ; voir Section F.8, « dblink ». La fonctionnalité permettant d'exécuter une requête sur des données distantes via une bibliothèque de wrapper de données distantes n'existe pas encore.
Actuellement, une fonction de validation de wrapper de données distantes est disponible : postgresql_fdw_validator, qui accepte les options correspondant aux paramètres de connexion de libpq.
Créer un wrapper de données distantes bidon :
CREATE FOREIGN DATA WRAPPER bidon;
Créer un wrapper de données distantes postgresql avec la fonction de validation postgresql_fdw_validator :
CREATE FOREIGN DATA WRAPPER postgresql VALIDATOR postgresql_fdw_validator;
Créer un wrapper de données distantes monwrapper avec des options :
CREATE FOREIGN DATA WRAPPER monwrapper OPTIONS (debug 'true');
CREATE FOREIGN DATA WRAPPER est conforme à la norme ISO/IEC 9075-9 (SQL/MED), à l'exception de la clause VALIDATOR qui est une extension, et des clauses LIBRARY et LANGUAGE qui ne sont pas encore implémentées dans PostgreSQL.
Notez, cependant, que la fonctionnalité SQL/MED n'est pas encore conforme dans son ensemble.