#1 Tue 17 July 2018 10:45
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
[PostGreSQL] FDW et Foreign Table : aide
Bonjour,
Je tente la mise en place d'une table distante au sein d'une BDD, afin d'accéder à des données contenues dans une autre BDD.
Voici comment j'ai procédé (depuis PgAdmin) :
Code:
CREATE EXTENSION postgres_fdw; CREATE SERVER serveur_db_distante FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'localhost', port '5432', dbname 'db_distante'); CREATE USER MAPPING FOR userlocal SERVER serveur_db_distante OPTIONS (user 'userdistant', password '******'); CREATE FOREIGN TABLE schemalocal.matable (champ1 character varying, champ2 character varying, ...) SERVER serveur_db_distante OPTIONS (schema_name 'schemadistant', table_name 'matable');
Chacune de ces requêtes s'est exécutée sans problème.
La table distante apparaît bien dans mon schéma local.
Hors, si je tente de faire un SELECT dessus, j'obtiens inexorablement le message d'erreur suivant :
Code:
ERREUR: la relation « schemadistant.matable » n'existe pas CONTEXT: Remote SQL command: SELECT champ1, champ2, ... FROM schemadistant.matable ********** Erreur ********** ERREUR: la relation « schemadistant.matable » n'existe pas État SQL :42P01 Contexte : Remote SQL command: SELECT champ1, champ2, ... FROM schemadistant.matable
J'ai essayé en faisant mon select sur le nom du schéma local, ou sur le nom du schéma distant, mais quoi qu'il arrive, ça me dit que la relation n'existe pas... Alors que je la vois dans PgAdmin !?
Une idée de ce que j'ai pu oublier ?
Merci à vous !
Sylvain M.
Hors ligne
#2 Tue 17 July 2018 11:49
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: [PostGreSQL] FDW et Foreign Table : aide
Salut,
est ce que vous avez tenté de créer une base de test dans le schema public distant,
et en omettant les options de création de table ?
Est ce que vous lancer bien la requête avec le bon utilisateur ?
Sinon, pour eviter de se casser la tête à écrire les définitions de tables distantes il y a la commande
IMPORT FOREIGN SCHEMA: https://www.postgresql.org/docs/10/stat … chema.html
Dernière modification par tumasgiu (Tue 17 July 2018 11:53)
Hors ligne
#3 Tue 17 July 2018 14:54
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: [PostGreSQL] FDW et Foreign Table : aide
Mea culpa !!!
J'avais en fait mal écrit les options de ma Foreign Table... (faute de frappe sur le nom de 'matable')
Oops !
C'est bon, tout fonctionne !
Sylvain M.
Hors ligne