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 :
Jusque là tout a fonctionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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');
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.
Partager