Jointure entre tables distantes (serveurs distants)
Bonjour,
Je cherche à réaliser des jointures entre des tables qui se trouvent sur des serveurs postgres 9.3 distants.
Pour ce faire j'ai exploré les méthodes proposées pour permettre l'accès entre bases de données :
- dblink : finalement pas testé car la deuxième solution semblait désormais conseillée.
- postgres_fdw : solution testée
J'ai ainsi appliqué les requêtes suivantes :
Code:
1 2 3 4 5 6 7 8 9
| CREATE EXTENSION postgres_fdw;
CREATE SERVER foreign_server_srvdata
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'ip du serveur', port '5432', dbname 'nom de ma base distante');
CREATE USER MAPPING FOR postgres
SERVER foreign_server_srvdata
OPTIONS (user 'postgres', password 'mon mot de passe'); |
Jusque là tout a fonctionné.
Là où je coince s'est, ensuite, dans la façon de constituer la requête de sélection par exemple.
Si je fais, par exemple, un select tout simple :
SELECT *
FROM MaBasDistante.MonSchema.MaTable
J'ai le message suivant :
ERREUR: les références entre bases de données ne sont pas implémentées
Je suppose qu'il doit falloir déclarer de façon bien spécifique les tables distantes dans le cadre d'une requête mixant des tables locales avec des tables distantes... mais je ne sais comment faire ?
J'ai eu beau fouiller sur différents forums, je n'ai trouvé aucun de exemple de requête de ce type.
Merci d'avance pour votre aide.