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.
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.
Une 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.
Comptes 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.
Pour 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:
Vous 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:
Le répertoire pour le cluster de données:
Vous pourrez ultérieurement créer d’autres clusters.
Vous aurez à rentrer le mot de passe lié au compte administrateur de postgres:
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:
Laissez 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.
Voilà. 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.
L’écran d’installation de Stack Builder s’affiche. Déroulez le menu et sélectionnez PostgreSQL 9.5 on port 5432
Vous 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.
L’installateur vous demande un dossier pour télécharger le module:
Voilà. Le paramétrage est terminé.
Cliquez 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.
Laissez le répertoire par défaut proposé:
Rentrez le mot de passe de postgres, que vous avez défini lors de l’installation de Postgresql:
Donnez un nom à votre base Postgis vierge, ou laissez le nom par défaut.
Vous 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.
Bonjour. Merci pour cet excellent article.
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…
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.
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 !
Pour ajouter l’extension Postgis il faut une fois la BD créer lancer en DBA :
CREATE EXTENSION postgis;
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!
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.
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.
Le bouton n’y est pas, mais vous pouvez le lancer depuis la barre de démarrage des programmes->postgis Bundle 2.4-> Pstgis 2.0 Shapefile …
Et ça fonctionne toujours pareil
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.
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?
Juste avec ça c’est difficile à répondre. Etes-vous en administrateur pour l’installation?
Est ce que la version peut causer un problème?
parce que j’ai essayé avec 11 et 10.6!
non, ça vient des protections windows des programmes sur le disque c:
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
oui je vais essayer
merci
Je ne pourrai pas avoir voir adress mail pour vous communiquer une capture d’écran ?
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.
Merci, l’installation semble s’être bien déroulée.
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
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.
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 !
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 ?
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?
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
Normalement, lors de l’installation de postgres vous avez défini un mot de passe pour l’utilisateur « postgres ». Si ce n’est pas le cas, comment avez vous installé postgresql?
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
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.
Je crois que c’est bon ! Merci beaucoup
Bonjour, j’ai un problème d’installation de postgis avec stackbuilder
il m’affiche ce message ( couldn’t access the URL https://www.postgresql.org/applications-v2.xml