Bonjour,
comment faire une requete select entre deux base de données hébergé sur le
même serveur postgresql ??
Merci d'avance pour votre aide.
Bonjour,
comment faire une requete select entre deux base de données hébergé sur le
même serveur postgresql ??
Merci d'avance pour votre aide.
Merci de poster dans le bon Forum à l'avenir.
Je sais que PostGre est très Normatif et va digerer ce code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T1_ID,T1_CHAMP1,T2_CHAMP1 FROM DB1.MonUser.MATABLE1 JOIN DB2.MonUser.MATABLE2 ON T1_ID=T2_ID
[quote="WOLO Laurent"]Lorsque j'essaie cette solution, postgres me répond "les références entre bases de données ne sont pas implémentées".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T1_ID,T1_CHAMP1,T2_CHAMP1 FROM DB1.MonUser.MATABLE1 JOIN DB2.MonUser.MATABLE2 ON T1_ID=T2_ID
Comment fait-on pour les implémenter ?
Là, il nous faut un Expert PostGre pour nous servir !!!
Bonjour,
La solution retenue par les concepteurs de PostgreSQL pour les requêtes inter-bases est l'utilisation des schémas.
Une solution tierce existe peut-être, mais une recherche rapide sur http://pgfoundry.org n'a rien donné...
La technique recherchée s'appelle le cross database, effectivement ce n'est pas encore implémenté.
Il existe une solution, perso, je l'utilise pour certains cas particulier : dblink
c'est plutot performant quand les bases sont sur le meme serveur
tu trouvera dblink dans les contribs
exemple d'utilisation :
tu peux meme creer des vues, l'utiliser dans des procedures stockées, te connecter a une base distance
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM dblink('dbname=mabase','select * from matable') AS t(id integer, champ1 integer, champ2 varchar);
Finalement, ce n'était pas si facile que je le pensais.
Voilà un près bon pionnier qui somnole encore sur des notions fondamentales comme le cross-database.
-1 pour PosteGreSQL
J'ai testé avec dblink, ça fonctionne bien avec des bases sur le même serveur.
Merci pour cette information.
Bonjour,
Désolé de déterrer ce vieux sujet, mais je tente de faire une requête multi-bases, sur un serveur PGSQL 9.3, et j'obtiens le message d'erreur suivant :
Voici ma requête :ERREUR: la fonction dblink(unknown, unknown) n'existe pas
État SQL :42883
Astuce : Aucune fonction ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
Caractère : 51
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE OR REPLACE VIEW mavue AS SELECT * FROM dblink('hostaddr=localhost port=5432 dbname=mabase user=postgres password=motdepasse','select * from matable');
Sylvain M.
[edit]
Bon, j'ai trouvé mon erreur : il faut d'abord ajouter l'extension "dblink" à la base de données.
Désolé pour le dérangement, mais si ça peut aider d'autres débutants comme moi !
A+
[/edit]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager