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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Tue 23 May 2023 13:51

mayelle.cardron
Juste Inscrit !
Lieu: Grenoble
Date d'inscription: 7 Feb 2022
Messages: 5

utilisation de dblink (et fdw)

Bonjour,
j'ai utilisé le dblink pour créer des vues matérialisés à partir d'une autre base. Cependant, ce moyen de procéder n'est pas optimal
Je l'emploi comme ci après:

Code:

CREATE MATERIALIZED VIEW schema.vm_nom
AS SELECT t1.colonne1, t1.colonne2 , t3.geom 

   FROM dblink('hostaddr=127.0.0.1 port=5432 user=user dbname=dbname  password=psswrd', 
'select colonne1, colonne2, geom from schema.t1') t1(colonne1 varchar(24),  
colonne2 varchar(127), geom geometry(geometry, 2154))

Y aurait-il un autre moyen de faire, notamment lorsque l'on appelle les colonnes avec leur type, ceci est très long ?

J'ai aussi pensé à l'extension fdw mais je ne comprend pas tout à fait comment ça s'utilise.
Je précise que dans mon cas, je connecte 2 bases en local.

Merci d'avance.

Hors ligne

 

#2 Tue 23 May 2023 16:40

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

Re: utilisation de dblink (et fdw)

A mon avis, FDW est tout à fait adapté à votre besoin, et beaucoup moins lourd que dblink.

Voici un exemple de doc qui explique tout : https://www.synbioz.com/blog/tech/pg-foreign-table

Bonne lecture !

A+


Sylvain M.

Hors ligne

 

#3 Wed 24 May 2023 09:22

mayelle.cardron
Juste Inscrit !
Lieu: Grenoble
Date d'inscription: 7 Feb 2022
Messages: 5

Re: utilisation de dblink (et fdw)

Je pense aussi.
J'ai regardé votre lien, mais peut-on réellement créer une vue matérialisé? De plus, il utilise CREATE FOREIGN TABLE et cite chaque type de chaque colonne, ce qui est long aussi je trouve.

Hors ligne

 

#4 Wed 24 May 2023 11:32

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1134

Re: utilisation de dblink (et fdw)

Bonjour,

Vous n'allez créer votre table distante qu'une fois, vous pouvez ensuite l'utiliser dans vos requêtes comme n'importe quelle autre table, sans avoir a passer par une vue.

à partir de Postgres 11, vous avez la commande import foreign schema qui vous facilite bien la tâche de création des tables distantes : https://docs.postgresql.fr/15/sql-impor … chema.html

Vous pouvez créér une vue matérialisée à partir de la table distante si c'est nécessaire, par exemple si il y a trop de latence pour accéder à la table distante, mais vu que vos deux bases sont en local, ca ne devrait pas être un souçi. A noter que le planificateur de requête est capable d'optimiser l'accès aux tables distantes et se servir des indexes.

Dernière modification par tumasgiu (Wed 24 May 2023 17:54)

Hors ligne

 

Pied de page des forums

Powered by FluxBB