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