Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Tue 17 July 2018 10:45

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 981

[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: 1129

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: 981

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 ! wink
C'est bon, tout fonctionne ! smile


Sylvain M.

Hors ligne

 

Pied de page des forums

Powered by FluxBB