Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL



Documents pareils
Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Procédure d'installation de PostgreSQL pour Windows

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Mysql. Les requêtes préparées Prepared statements

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

PHP 4 PARTIE : BASE DE DONNEES

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand

Les Différents types de Requêtes dans Access

Connexion entre une BD FileMaker Pro 10 et ArcGis 10.x sous Windows 7

PHP. PHP et bases de données

Configuration de WebDev déploiement Version 7

Création et Gestion des tables

KWISATZ MODULE PRESTASHOP

Modélisation et Gestion des bases de données avec mysql workbench

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

LES ACCES ODBC AVEC LE SYSTEME SAS

Setting Up PC MACLAN File Server

Olivier Mondet

Exécution de PCCOMPTA à distance sous Terminal Server 2003.

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

OpenPaaS Le réseau social d'entreprise

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Manuel utilisateur (Manuel_utilisateur_version pdf) Manuel Reprise des données (Manuel_Reprise_donnees_version

Guide de développement de «WorkFLows» avec SharePoint Designer 2013

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

9 - Installation RDS sur 2008R2 SOMMAIRE. Chapitre 1 Mise en place RDS sous Windows 2008 R2 2

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

Les fichiers de configuration d'openerp

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

SQL SERVER PRECONISATIONS A L INSTALLATION.2 VERIFICATION INSTALLATION...2 CONNEXION RESEAU.4 EMPLACEMENTS DOSSIERS & SAUVEGARDES...

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Notice d installation et d utilisation du blog nomade avec un nouveau blog

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

MEDIAplus elearning. version 6.6

Le routeur de la Freebox explications et configuration

TAGREROUT Seyf Allah TMRIM

Service Systèmes et Réseaux

MODULES 3D TAG CLOUD. Par GENIUS AOM

Installation de la messagerie EMWAC IMS Sur Windows NT4 serveur ou Windows 2000 serveur

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Guide de l'assistance à distance dans Windows XP

Gestion de parc informatique - Prise en main

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

Guide d'installation sous Windows

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Installation d un hébergement Web à domicile

(Fig. 1 :assistant connexion Internet)

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

Guide Enseignant de l application OpenERP

Configuration de GFI MailArchiver

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Historisation des données

Installation de Concrete 5

Service d'authentification LDAP et SSO avec CAS

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Installation et configuration de Vulture Lundi 2 février 2009

Les Imprimantes EOLE 2.3. Documentation sous licence Creative Commons by-nc-sa - EOLE (http ://eole.orion.education.fr) révisé : Janvier 2014

CENTRALE TELESURVEILLANCE VIA INTERNET WEB

- Visioconférence - Utiliser NetMeeting au quotidien. Richard BONMARIN DSO/DSI/EMC-EBZ

Tutoriel XBNE Connexion à un environnement XBMC distant

Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad:

Configuration de base de Jana server2. Sommaire

Configurer la supervision pour une base MS SQL Server Viadéis Services

Table des matières. 1 À propos de ce manuel Icônes utilisées dans ce manuel Public visé Commentaires...

Pratique et administration des systèmes

1 Résolution de nom Introduction à la résolution de noms Le système DNS Les types de requêtes DNS...

Bases de Données relationnelles et leurs systèmes de Gestion

Solutions informatiques (SI) Semestre 1

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Tutorial sur SQL Server 2000

Configuration Wi-Fi pour l'utilisation d'eduroam

TUTORIAL DE CREATION D UN

Tutorial Terminal Server sous

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée)

Couche application. La couche application est la plus élevée du modèle de référence.

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. Version EXOCA 1

Les Utilisateurs dans SharePoint

contact@nqicorp.com - Web :

Connexion à SQL server

Gestion d Active Directory à distance : MMC & Délégation

Configuration de Zabbix

Création d une connexion VPN dans Windows XP pour accéder au réseau local de l UQO. Document préparé par le Service des technologies de l information

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

NAS 224 Accès distant - Configuration manuelle

Quick Start Installation de MDweb version 2.3

Le langage SQL (première partie) c Olivier Caron

Transcription:

Sommaire Etablir une connexion avec une base de données distante sur PostGreSQL 1 Connexion avec le module dblink...3 1.1 Création du module dblink... 3 1.2 Exemple de Mise en oeuvre... 4 1.3 Création de la table... 6 1.4 Déconnexion... 7 2 Connexion avec le module postgres_dwd...7 2.1 Création du module postgres_fdw... 7 2.2 Connexion à la base de données gb_cons_eau... 7 2.3 Vérification si la connexion est bonne :... 8 2.4 Suppression de la connexion... 9 2.5 Création de la table rpg... 9 1

Préambule Souvent on souhaite interroger une base de données distante afin de croiser les données extraites d une table de cette base avec une base de données locale. On entend par base locale, la base de données sur laquelle on est entrain de travailler dans PostgreSql. On serait tenté pour des raisons de facilité de copier cette table de la base distante dans la base de travail. Ce qui n'est pas sans conséquence dans la fiabilité des données (redondance, mise à jour à surveiller...). Pour éviter d avoir plusieurs copies de tables dans plusieurs bases de données, on peut installer des modules de connexion entre les bases. PostgreSql dispose d'extension qui peuvent être mises en œuvre pour établir des liaisons entre les bases de données, afin d'interroger les tables contenues dans cette base. Il s agit des extensions dblink, et postgres_fdw. Ces extensions comme beaucoup d'autres, ne sont pas nativement installées dans PostgreSql : Il faudra donc créer. 2

1 L extension dblink 1.1 Création du dblink Depuis PgAdmin cliquer sur le requêteur de PgAdmin et saisir l'expression suivante : Create extension dblink Dans le schéma Public, dans la liste des fonctions vous voyez apparaître une liste de fonctions liées au module dblink comme l'indique la figure suivante : Une fois le module installé on va utiliser la fonction dblink_connect pour établir une connexion. Pour se faire on va se servir d'un exemple bien concret. 3

1.2 Exemple de Mise en oeuvre Souvent, le service de l'économie agricole souhaite extraire les îlots agricoles qui intersectent une zone zpaac. Il souhaite à la fois récupérer tous les attributs liés à la couche n_rpg2014_s_076 qui se trouve dans le schéma n_parcellaire_agricole dans la base qui s'appelle gb_cons_agriculture avec le nom de la zpaac issu de la couche n_protection_aac_aep_s_076 dans le schéma n_zonages_eau qui se trouve dans la base gb_cons_eau. Dans cette table n_protection_aac_aep_s_076, deux champs nous intéressent particulièrement : le nom de la zpaac(nom_zpaac) et le champ géométrique (geom). On va donc depuis la base gb_cons_agriculture établir cette connexion et récupérer ces deux champs, la base distante sur laquelle nous souhaitons nous connecter est bien gb_cons_eau. On va lancer la requête suivante pour nous connecter à la base gb_cons_eau : select * from dblink_connect('sea','host=localhost user=postgres password=postgres dbname=gb_cons_eau') Exécutez cette requête en cliquant sur F5 ou le bouton d'exécution de requête de PgAdmin. Si vous avez le message Ok comme indiqué dans la figure ci-dessous, c'est que la connexion est établie Sinon vous avez une erreur dans vos paramétrages qu'il faut corriger. Explication : 4

dblink_connect : fonction qui vous permet de vous connecter à un serveur distant sea : est le nom de la connexion que vous pouvez rappeler à chaque fois que vous désirez vous connectez sur cette base (vous n'êtes plus obligé de renseigner tous les paramètres qui suivent) host= à la place de localhost vous pouvez donner toute autre adresse IP de serveur postgresql hébergeant votre base auquel vous avez les droits ah doc. user : est le l'utilisateur habilité à se connecter sur cette base et à exécuter des requêtes sur les tables de cette même base password : est son mot de passe dbname : est le nom de la base de données sur laquelle vous souhaitez vous connecter. Attention aux apostrophes qui entourent le protocole de connexion à la base et au nom de connexion à cette base séparé par une virgule. Maintenant que la connexion est établie, on cherche à rapatrier les champs qui nous intéressent : le nom de la zpaac(nom_zpaac) et la géométrie des objets (geom). Pour tester si la connexion fonctionne bien, on peut lancer la requête suivante : select * from dblink('sea','select nom_zpaac,geom from n_zonages_eau.n_protection_aac_aep_s_076') as n_protection_aac_aep_s_076 ( nom_zpaac char varying(100), geom geometry ) 5

Explications: dans le select c'est une sélection classique que l'on fait habituellement. dblink reçoit deux paramètres : le nom de la connexion que vous venez d'établir entouré de 2 apostrophes : un au début et un à la fin, suivi d'une virgule puis de la sélection dans la table désirée entourée également d'apostrophes comme pour le nom de la connexion. Avec le as : on construit une pseudo table qui doit contenir les champs que l'on récupère : ici nom_zpaac et le geom) avec leur typologie. Cette typologie doit être la même que celle contenue dans la table d'origine. Le nom de la pseudo table peut être changé ainsi que les champs si vous le souhaitez, mais pas les types. Si vous exécuter cette requête vous devez avoir les deux champs avec leurs contenus qui s'affichent sur le panneau de sortie du requêteur de PgAdmin. 1.3 Création de la table Faisons maintenant la requête d'intersection (St_intersects) qui permet de créer une table qui contient les îlots rpg contenus dans une zpaac dont le nom est angerville. Create table rpg_angerville as select n_rpg2014_s_076.*, nom_zpaac from n_parcellaire_agricole.n_rpg2014_s_076, select * from dblink('sea','select nom_zpaac,geom from n_zonages_eau.n_protection_aac_aep_s_076') as n_protection_aac_aep_s_076 (nom_zpaac char varying(100),geom geometry) where st_intersects(n_rpg2014_s_076.geom, n_protection_aac_aep_s_076.geom and nom_zpaac='angerville' Et voila votre table est créée. 6

1.4 Déconnexion Pour vous déconnecter, lancer cette fonction de déconnexion Select * from dblink_disconnect('sea'). Vous voyez apparaître aussi le message OK. comme précédemment. 2 Connexion avec le module postgres_fdw 2.1 Création de l extension postgres_fdw Depuis PgAdmin cliquer sur le requêteur de PgAdmin et saisir l'expression suivante : Create extension postgres_fdw Dans le schéma Public, dans la liste des fonctions vous voyez apparaître une liste de fonctions liées au module postgres_fdw comme l'indique la figure suivante : Nous allons reprendre le même exemple de mise en œuvre vu avec le module dblink. 2.2 Connexion à la base de données gb_cons_eau Création d'une connexion au serveur distant Nous souhaitons nous connecter à la base de données gb_cons_eau : CREATE SERVER serv_gb_cons_eau FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '127.0.0.1', dbname 'gb_cons_eau', port '5432'); Puis exécuter en tapant sur F5 ou le bouton exécuter de PgAdmin Explication : o serv_gb_cons_eau est le nom de la connexion au serveur o host adresse du serveur o dbname est le nom de la base de données o port le port d écoute 7

Création d'un utilisateur habilité sur le serveur distant CREATE USER MAPPING FOR postgres SERVER serv_gb_cons_eau OPTIONS (user 'postgres', password 'postgres'); Explications : o Postgres dans create user mappin for : est le nom de l utilisateur o Server est le nom de connexion défini plus haut o Option : l utilisateur postgres avec le mot de passe postgres Puis exécuter en tapant sur F5 ou le bouton exécuter de PgAdmin Explication : Connexion à la table distante CREATE FOREIGN TABLE n_protection_aac_aep_s_076 (nom_zpaac char varying(100), geom geometry) SERVER serv_gb_cons_eau OPTIONS (schema_name 'n_zonage_eau',table_name 'n_protection_aac_aep_s_076' ); Puis exécuter en tapant sur F5 ou le bouton exécuter de PgAdmin Explications : o N_protection_aac_aep_s_076 est le nom de la pseudo table o Nom_zpaac, et geom se sont les deux champs qui souhaite récupérer avec leur types o Serv_gb_cons_eau est le nom de connexion au serveur o Dans Option on précise le schéma de la table distante et le nom de cette table. 2.3 Vérification select * from n_protection_aac_aep_s_076. Vous devez avoir les informations liées à cette table, comme si vous êtes à l intérieur de la base de données distante. 8

2.4 Création de la table rpg Create table rpg_angerville as select n_rpg2014_s_076.*,nom_zpaac from n_parcellaire_agricole.n_rpg2014_s_076, n_protection_aac_aep_s_076' where st_intersects(n_rpg2014_s_076.geom,n_protection_aac_aep_s_076.geom) and nom_zpaac='angerville' 2.5 Suppression de la connexion. Pour supprimer la connexion vous devez avant tout supprimer tous les objets liés à cette connexion. 1. Supprimer la table DROP FOREIGN TABLE n_protection_aac_aep_s_076 Sur le panneau de sortie vous devez avoir le message suivant : 2. Supprimer l'utilsateur DROP USER MAPPING IF EXISTS FOR postgres SERVER serv_gb_cons_eau; Puis F5. Vous avez le même message que précédemment. 3. Supprimer le serveur DROP server serv_gb_cons_eau. Si vous tentez de supprimer le serveur alors que vous n'avez pas supprimer liés au serveur vous avez le message suivant : 9

Avec l'extension postgres_fdw, vous pouvez, mettre à jour, supprimer des données, ajouter ou supprimer des colonnes avec les commandes : o Update o Alter o Delete. 10