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 :

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.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

30 thoughts on “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 !

  2. Bonjour et merci pour ce tuto pas à pas !
    J’ai installé la version de PostSQL 10.1 et PostGIS 2.4. Tout s’est bien passé. J’ai commencé à travailler avec le PgAdmin4. Mais comme les tutos sont avec PgAdmin 3, j’ai désinstallé PostSQL10.1 puis j’ai essayé de le faire avec postGIS 2.4 mais ca ne veut pas…Windows ne trouve pas le fichier. exe.
    J’ai quand meme reinstallé la version PostSQL 9.5 puis PostGis2.3.5. Mais lors de ma création de base de données spatiale, ca m’a été refusé. Peut etre que c’est en lien avec la desinstallation ratée de PostGIS 2.4…
    Si vous avez une piste, je vous remercie d’avance!

    1. Repartez sur une installation propre dans la mesure du possible, mais de la dernière version. Les différences entre pgadmin3 et 4, pour les tutos, sont essentiellement graphiques. Vous n’aurez pas beaucoup d’effort à faire pour suivre les tutos avec pgAdmin4.

      1. Bonjour,
        Merci pour vos articles toujours très clairs et opérationnels.
        Vous êtes sûr de ce que vous dites sur les différences « essentiellement graphiques » PGAdmin 3 et 4 ?
        La dernière fois que j’ai regardé PgAdmin4 il n’y avait pas les extensions, notamment le PostGIS Shapefile and DBF loader, très utile.

  3. Bonjour et merci pour ce tuto.

    Sous Windows, j’avais une erreur qui empêchait l’installation de la base postgis_23_sample. En effet, un message indiquait qu’il manquait l’extension pointcloud. Celle-ci n’est pas fournie de base sur l’exécutable Windows.

    Il faut aller fureter sur sur la page https://postgis.net/windows_downloads/ et aller à la partie « Windows: Winnie Bot PostGIS and pgRouting Experimental Builds » où il est écrit : « for PostgreSQL 9.5 32-bit/64-bit compiled against PostgreSQL 9.5 for PostGIS 2.4, 2.3, 2.2 (built with SFCGAL support) (also pgrouting 2.5, 2.4) (osm2pgrouting 2.1), (in extras folder: pointcloud, ogrfdw ) »

    Ce qui m’amène à la page https://winnie.postgis.net/download/windows/pg95/buildbot/extras/
    Il faut télécharger le zip recherché (pour ma part pointcloud-pg95-binaries-1.1.0w64gcc48.zip) et déposer les fichiers dans les répertoires /share/extension et /lib à partir du répertoire où se trouve installé Postgresql.

    J’ai ensuite exécuté la commande suivante dans pgAdmin
    — LIDAR support
    CREATE EXTENSION pointcloud;
    — LIDAR Point cloud patches to geometry type cases
    CREATE EXTENSION pointcloud_postgis;

    Après cela, j’ai relancé l’exécutable d’installation de postgresql et coché l’installation de la base exemple. L’exe réinstalle postgresql et réussit à installer la base exemple.

  4. Bonjour ,
    J’ai beau essayé mais je fini à chaque fois avec l’erreur: Problem running post-install step. Installation may not complete correctly
    The database cluster initialisation failed.

    Comment puis je procéder svp?

    1. Désinstallez Postgresql. Faites le répertoire d’installation propre sans rien dedans.
      Cliquez de nouveau sur l’installateur et exécutez cette fois comme « Exécuter en tant qu’administrateur ».
      Laisser installer dans votre système comme avant et le laisser terminer l’installation avec l’erreur à nouveau.
      Naviguez maintenant vers l’emplacement « c : /Programs Files /PostgreSQL ».
      Cliquez avec le bouton droit sur le dossier et passez à l’onglet Propriétés.
      Modifiez le profil de sécurité.
      Sélectionnez « Utilisateurs » et donnez le « Contrôle complet ».
      Enregistrez les changements.
      Maintenant, essayez d’installer le même installeur au même endroit. Il vous demandera de choisir à nouveau le répertoire « données » et vous pourrez pointer à nouveau sur le même répertoire de données. Vous pouvez également donner le même mot de passe.
      ça devrait résoudre votre problème

  5. Comment en administrateur ?
    J’ai télécharger postgres et j’ai suivi les étapes de l’installation comme sur le tuto et à la fin j’ai ce message d’erreur.

  6. Bonjour,
    Comme tout le monde, en priorité, je voudrais vous remercier pour ce tuto très clair !
    Mais bien sur, j’ai également un problème au niveau de l’installation de PostGis avec la « database ». Plus particulièrement, après avoir validé les questions sur les rasters, j’ai un message d’erreur m’indiquant qu’il n’a pas pu créer la database, voici ce qu’en dit le rapport :
    ERREUR: n’a pas pu charger la bibliothèque « C:/Program Files/PostgreSQL/9.5/lib/rtpostgis-2.5.dll » : unknown error 126
    Depuis, j’ai déjà désinstallé et réinstallé PostgreQSL, mais rien n’y fait. Une autre chose me préoccupe : malgré les désinstallations les « chemins » et autres « dossiers » (et même quand je vais les désinstaller à la main dans « programme ») semblent rester, puisque l’installateur m’indique qu’il les reprend…
    J’espère que ça ne fait pas persister l’erreur
    Je suis sous windows 10 64bits.
    Merci pour votre réponse

    1. Avant de chercher plus loin, pourquoi vous installez la version 9.5? Au moment de l’écriture de l’article c’était la dernière version, mais aujourd’hui on en est déjà à la version 11. D’autre part, assurez vous de lancer l’installation en tant qu’administrateur.

  7. Merci !!!
    L’installation en tant qu’administrateur… l’oubli d’une grande stupidité !
    Pourquoi la v9.5 ? Parce que l’institution publique qui propose de transmettre des données via Postgres parle de cette version, et l’article est récent… en outre, dans ces cas-là, je préfère suivre leurs directives . On verra avec la V11 ce qu’il adviendra ! 🙂
    Encore un immense merci !

  8. j’essai d’installé l’extension Postgis dans pagAdmin 4 mais il me donne ce message si C:/Program Files/PostgreSQL/10/lib/rtpostgis-2.4.dll »
    ecq vous pouvez m’aider ?

    1. Je ne comprends pas bien la question. L »installation » de Postgis ne se fait pas avec pgAdmin mais avec l’Applicatioon stack builder de Postgresql. Avec pgadmin on peut après activer l’exte’nsion pour une base de données.
      Votre problème est à l’installation ou bien à l’activation?

  9. Bonjour, j’ai un problème lors de l’installation. Lorsque j’installe Postgresql il ne me demande pas de créer un mot de passe, or lorsque je j’installe l’extension postgis il me demande de rentrer un mot de passe que du coup je n’ai pas créé.
    Si quelqu’un peut m’aider.
    Merci d’avance

      1. Je ne l’ai pas installée totalement puisque c’est lors de l’installation qu’il me demande un mot de passe que je n’ai pas renseigné. J’ai essayé de l’installation plusieurs fois mais rien a faire c’est toujours la même chose

        1. Si vous utilisez l’installation EDB du site https://www.postgresql.org/download/windows/ vous avez une série de fenêtres successives: bienvenue, répertoire d’installation, composants à installer,répertoire des données, puis la cinquième qui est le mot de passe superutilisateur. C’est le mot de passe entré ici que vous devez retenir et fournir au moment de l’installation de postgis, et pour toute autre connexion ultérieure, même après la fin de l’installation.

Laisser un commentaire

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