Débuter avec Postgres/Postgis

La documentation générale de PostgreSQL est excellente, et très riche, mais pour les utilisateurs de QGis (et peut-être ceux d’ArcGis) on a du mal à trouver un document plus léger expliquant la procédure d’installation de Postgres, puis de Postgis, de manière à avoir une base de données opérationnelle en quelques minutes. De quoi voir les possibilités et le fonctionnement du couple Postgis/QGis sans passer par une formation poussée. Bien sûr, une fois ce tour superficiel passé, vous pourrez vous attaquer à la lecture de la documentation officielle et apprendre à administrer où à développer sous Postgres.
Cet  article a pour but:

  • d’installer Postgresql et Postgis sur votre ordinateur (nous verrons d’abord l’installation sous Windows, plus simple)

L’article suivant a pour but:

  • de vous donner les clés d’utilisation de l’interface PgAdmin , l’outil d’administration de PostgreSQL
  • de vous aider à charger une couche shapefile dans votre nouvelle base
  • de charger votre couche Postgis dans QGis

Qu’est-ce que PostgreSQL?

PostgreSQL est un moteur de bases de données relationnelles.
C’est un moteur adapté à des bases métier,  riche en fonctionnalités et très puissant. La licence BSD de PostgreSQL permet son utilisation sans aucune restriction, même au sein d’un logiciel propriétaire.
D’un point de vue architecture et fonctionnalités nous sommes en présence d’un équivalent d’Oracle. Ce n’est plus du niveau d’Access ou de SQLite. Que ce soit au niveau du volume des données gérables (Tos),  de la robustesse de la structure, de la gestion des transactions concurrentes, etc., vous disposez de tous les outils et fonctions nécessaires à la gestion d’une base de données de production.

Des extensions et outils sont disponibles pour compléter le moteur, en particulier PostGis qui permet la gestion de données spatiales dans une base PostgreSQL (gestion des géométries et des systèmes de coordonnées).

Notions de base de PostgreSQL

Cluster : (ou groupe de serveurs) C’est un ensemble virtuel des serveurs auxquels vous avez accès.

groupe de serveurs d'une installation PostgreSQL

Base de données : Une base est un ensemble structuré de données (On utilise généralement une base de donnée par application). Une base de données est forcément créée au sein d’un cluster.

base de données postgresUne base de données comprend tout autant les données que les applications qui les concernent (les Triggers, les extensions,…)

Schéma de base de données : contient toute la structure de la base de données et permet de créer des vues spécifiques des tables de données.

schéma de base de données postgresqlComptes de connexion et rôles : A ne pas confondre. Le compte de connexion est le compte système utilisé par les processus de PostgreSQL. Le plus couramment utilisé est postgres. Les rôles, par contre, sont le moyen de gérer les droits d’accès aux bases de données.

compte et rôles postgresqlPour finir avec les notions de base, PostgreSQL est une application client/serveur. Le serveur gère les fichiers de la base de données, accepte les connexions des clients, et effectue les opérations demandées par les clients (requêtes…). Le client peut prendre de nombreuses formes. Pour administrer PostgreSQL vous disposez d’une interface graphique, pgAdmin3. Pour travailler sur les données (affichage, mise en forme, mise à jour) vous pourrez le faire avec QGis.

Installer la dernière version de PostgreSQL et Postgis.

Vous pouvez télécharger l’installation de la dernière version à partir du lien suivant : http://www.enterprisedb.com/products-services-training/pgdownload#windows

Choisissez la version correspondante à votre système:

téléchargement de l'installation de postgresqlLancez l’installateur:

lancement de l'installation de postgresqlVous aurez les différents écrans de paramétrage. Vous pouvez modifier les options par défaut, mais si vous n’avez pas de raison vraiment importante pour le faire, restez dans les options par défaut. La documentation, l’aide et les exemples que vous trouverez disponible sur internet sont toujours faits avec les options par défaut.

Le répertoire d’installation:

répertoire d'installation de postgresqlLe répertoire pour le cluster de données:

répertoire du cluster de données postgresql Vous pourrez ultérieurement créer d’autres clusters.

Vous aurez à rentrer le mot de passe lié au compte administrateur de postgres:

définition du mot de passe du compte postgresql

Attention, en réalité ceci recouvre 2 notions différentes :
• un utilisateur du système d’exploitation, celui sur le compte duquel fonctionnent les programmes du serveur,
• le super-utilisateur de base de données.
Ils peuvent très bien avoir des noms et des mots de passe différents, mais pour cet installeur, il a été choisi de donner le même nom et le même mot de passe. Le nom, qui n’apparaît pas, est postgres.

Notez bien ce mot de passe, vous en aurez besoin systématiquement, et pas plus loin que dans quelques étapes, pour installer Postgis.

Vous serez sollicité pour définir le port d’accès à PostgreSQL:

paramétrage du port d'écoute de postgresqlLaissez le port par défaut (5432). Vous pourrez reconfigurer, si nécessaire, ce paramètre quand vous étudierez la sécurité de votre base de production.

Vous aurez à définir la langue utilisée par votre installation. L’option par défaut est celle de votre système d’exploitation.

définition de la langue de votre installation postgresqlVoilà. Le paramétrage de l’installation est terminé. Cliquez sur Suivant pour qu’elle s’exécute.

Quand l’installation est terminée, l’écran suivant vous demande si vous voulez lancer Stack Builder. C’est l’outil qui va vous permettre d’installer l’extension PostGis. Laissez donc la case cochée et cliquez sur Terminer.

lancement de l'installation de postgisL’écran d’installation de Stack Builder s’affiche. Déroulez le menu et sélectionnez PostgreSQL 9.5 on port 5432

choix de l'installation de postgisVous aurez la liste des types d’extension disponibles. Ouvrez l’item « Spatial Extensions » et sélectionnez le type d’installation appropriée pour votre système.

choix de l'installation de postgisL’installateur vous demande un dossier pour télécharger le module:

choix du répertoitre de téléchargement de postgisVoilà. Le paramétrage est terminé.

pg16Cliquez sur Suivant pour exécuter l’installation.

Acceptez les termes de la licence. Un écran vous demandant les composant à installer apparaît. Cochez la case « Create Spatial database » pour que l’installateur crée une base Postgis vierge dans votre cluster.

option de création d'une base de données postgisLaissez le répertoire par défaut proposé:

répertoire par défaut de la base poistgisRentrez le mot de passe de postgres, que vous avez défini lors de l’installation de Postgresql:

connexion à la base PostgresDonnez un nom à votre base Postgis vierge, ou laissez le nom par défaut.

nom de la base postgis d'exempleVous aurez trois question sur la gestion des rasters. Répondez OUI à chacune d’elles.

L’installation de Postgres et de Postgis sur votre poste de travail est terminée.

4 pensées sur “Débuter avec Postgres/Postgis”

  1. Bonjour,
    Les explications fournies sont très claires, malheureusement lors de l’installation de PostgreSQL 9.6, l’item « spatial extensions » ne figure pas. Par conséquent PostGIS ne peut pas s’installer ? Faut-il l’installer de façon indépendante ? Quelle version conseillez-vous ?
    Par ailleurs, en cherchant à créer une première base avec la commande « createdb ma_base », il m’est demandé un mot de passe, mais celui renseigné lors de l’installation n’est pas reconnu.
    L’apprentissage s’annonce laborieux…

    1. En effet, il y a un peu de retard pour la mise au point de Postgis 2.3 avec Postgresql 9.6
      Cela ne devrait pas tarder, mais entretemps, il faut télécharger Postgis à partir de winnie (http://winnie.postgis.net/download/windows/pg96/buildbot/), et exécuter le fichier exe téléchargé. Dans la page de winnie, téléchargez le fichier postgis-bundle-pg96x64-setup-2.3.0beta1-2.exe si vous avez une machine 64bits ou postgis-bundle-pg96x32-setup-2.3.0beta1-2.exe si c’est une machine 32bits. Vous remarquerez le « beta1 » dans le nom. Quand ce sera enlevé, Postgis apparaîtra à nouveau dans les options de Stack Builder.
      Pour le mot de passe, ça doit être celui que vous avez rentré lors de l’installation et l’utilisateur doit être postgres.

      1. L’installation de PostGIS s’est bien passée selon vos conseils.
        Par ailleurs, j’ai pu me connecter en utilisateur postgres, créer un rôle puis un base de données.
        Merci pour votre aide !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *