Aller au contenu

Séquences PostGIS - Serveur Distant

logo postgis

Une base de données sur un serveur

Et non plus en local sur locahost

Nous allons utiliser notre instance Always Data.

Ajouter une image en markdown ![image alt](https:// "title" ou lien absolu)

Etape par étape

  • se connecter à notre compte always data
  • se rendre sur la section PostgreSQL

../assets/postgis_serveur_distant/capt_1.png

  • sur cette section on peut repérer le nom de notre serveur distant "Hôte PostgreSQL : postgresql-thomasidgeo.alwaysdata.net" qui remplace le localhost utilisé jusqu'à présent.

  • ensuite on va créer une première base de donnée.

    • On lui donne un nom thomasidgeo_first
    • On choisit l'encodage fr_FR.UTF-8 ce qui permet d'avoir le bon système (date/heure)
    • On ajoute l'extension PostGIS
    • On vérifie les permissions d'utilisateur (quand on crée la base on est super utilisateur)
    • Le port par défaut est 5432
  • On a tous les éléments pour se connecter à la base distante grâce aux clients Pgadmin ou QGIS

Options : créer d'autres utilisateurs et leurs octroyer des droits sur la base de données - On peut créer des utilisateurs qui sont des utilisateurs de mon serveur - utilisateur : thomasidgeo_ahah , - mdp La carto c'est beau la vie

Connexion avec Pgadmin

- on peut créer un groupe de serveur pour différencier des bases qui sont en localhost

capt_2.png - On ajoute la connexion au serveur distant always data

capt_3.png juste définir un nom

capt_4.png

=> ajouter le fait de ne voir que c'est - Pour ne voir que notre base de donnée il faut : - 1. se déconnecter de la base - 2. Clic droit, propriété, avancé : limites aux bases de données : rentrer notre base de donnée > entrée puis enregistrer - 3. On se reconnecte et nous n'avons plus que la base en question, il est tout de même possible d'ajouter d'autres bases si nous en avons - Tadam on ne voit plus notre BDD et pas les 1000 autres.

capt_5.png

Connexion avec QGIS

  • On ajoute une connexion PostgreSQL / PostGIS avec les bons paramètres

capt_qgis_1.png

  • On retrouve la connexion dans le panneau explorateur

capt_qgis_2.png

Manipulations

Ajoutons des couches dans la base de données

Avec QGIS, on charge la couche de son choix dans QGIS, puis on ouvre le gestionnaire de base de données et on importe la couche. Il faut patienter que le "job soit terminé".

Une fois les couches importées dans la base, on les charge dans le projet QGIS (projet qui n'est pas encore enregistré) en prenant soin d'enlever les couches locales du projet (elles ne servent plus à rien).

Nous pouvons enregistrer le projet dans la base PostGIS

  • Par le menu "Projet/Enregistrer sous => PostgreSQL"

capt_qgis_3.png

capt_qgis_4.png

  • [x] Notre projet est enregistré dans la base de données distante hébergée sur Always Data.

  • On vérifie l'emplacement du projet

capt_qgis_5.png

  • Et des couches

capt_qgis_6.png

Nous pouvons de la même manière enregistrer les styles dans la base de données. On passe par les propriétés de la couche, bouton styles et on choisi dans le menu déroulant "In Database Datasource"

Ca va créer une table qgis_styles dans la base

Exercice en binome

Chacun votre tour, vous allez créer un utilisateur avec les droits nécessaires depuis l'interface always data sur votre base actuelle "nom_first" et jouer en co-édition sur des couches voire la même couche ... racontez votre expérience.

bug ou limitation d'always data quand l'autre utilisateur crée une table sur la base de l'autre, la table est mal référencée dans la table "geometry_colums" ce qui empêche sa bonne utilisation.

info : L'édition sur des couches existantes dans la base fonctionne comme attendu.