Configuration de PostgreSQL avec Postgis sur Debian GNU / Linux Top 10

Configuration de PostgreSQL avec Postgis sur Debian GNU / Linux Top 10
Tel que symbolisé par l'éléphant bleu avec son symbole de projet discret, PostgreSQL appartient aux systèmes de gestion de base de données SQL les plus stables (SGBD): un éléphant est bien connu pour avoir une grande mémoire et n'oublie jamais ce qu'il a observé.

Disponible depuis plus de 20 ans maintenant, PostgreSQL a prouvé sa fiabilité remarquable dans les cas d'utilisation allant des petits ensembles de données. La liste des utilisateurs commerciaux et non commerciaux satisfaits est assez long, et entre autres, il comprend le Fonds pour enfants des Nations Unies (UNICEF), The Creative Commons Archive, Skype et le groupe BMW.

Son modèle de gestion des transactions intégré ainsi que l'ensemble des types de données géométriques ont aidé à me démarquer du logiciel à partir d'autres développements tels que MySQL / MARIADB, Redis ou Sqlite . Dans cet article, nous nous concentrons sur la configuration de PostgreSQL 11.5 en combinaison avec Postgis 2.5 .

Postgis est l'extension spatiale de PostgreSQL qui ajoute à la fois des fonctions géométriques et des caractéristiques géographiques à PostgreSQL. Simplement parlant, ces données spatiales agissent comme des formes, et les structures spatiales abstraites et encapsulées telles que la limite et la dimension. Entre autres, les données nouvellement disponibles sont Indiquer, Surface, et Courbe.

L'un des utilisateurs les plus éminents de Postgis est l'Institute Géographique National (IGN) de la France qui recueille, intègre, gère et distribue des informations géographiques de référence pour l'ensemble du pays. Depuis juillet 2006, Postgis est très utile. Jusqu'à présent, la base de données de l'IGN contient plus de 100 millions d'objets spatiaux.

Nous installerons Postgresql / Postgis sur Debian GNU / Linux 10 «Buster» à l'aide de l'environnement de bureau XFCE .

Configuration de PostgreSQL

La configuration des SGBD PostgreSQL sur un Debian GNU / Linux ne nécessite qu'un niveau de connaissance modéré de l'administration du système. Le défi ici est le bon ordre des étapes nécessaires (voir pour une liste complète avec des images). Comme pour toutes les autres distributions Linux, il existe des paramètres par défaut et des noms de packages qui peuvent être un peu gênants. Nous ne gémissons pas, et nous commençons, plutôt.

Installation de PostgreSQL en tant que logiciel

La première étape est l'installation du package PostgreSQL. Dans un terminal, vous pouvez le faire comme suit:

# apt-get install postgresql

En utilisant le système de gestion de la configuration du chef, une recette de base qui mène au même résultat contient uniquement les lignes suivantes:

Package 'PostgreSQL' Do Action: Installer End
Service 'PostgreSQL' Do Action: [: Activer ,: start] fin

Ces lignes conduisent à l'installation du package PostgreSQL (plus les dépendances du package) et à l'activation du service selon. Afin de vérifier le service PostgreSQL pour être en cours d'exécution, cette commande devrait vous donner une sortie positive, puis:

# Statut de service postgresql

Terminer la configuration du compte de l'administrateur

L'utilisateur Postgres administre les bases de données PostgreSQL. La deuxième étape finalise ce compte et commence par l'ajout d'un mot de passe à ses informations d'identification comme suit:

# Passwd Postgres
Nouveau mot de passe:
Re-taper le nouveau mot de passe:
passwd: mot de passe mis à jour avec succès
#

Connexion en tant qu'utilisateur Postgres vous permet d'accorder à d'autres utilisateurs l'accès à la base de données PostgreSQL. Par la suite, nous devons ajouter un utilisateur à la troisième étape. Veuillez être conscient du fait que le système Linux et PostgreSQL conservent leurs bases de données utilisateur séparément. C'est pourquoi vous devez vous assurer qu'un utilisateur de Linux régulier avec le même nom existe également sur votre système avant de permettre l'accès à PostgreSQL pour lui.

Ajout d'un compte utilisateur

La quatrième étape est effectuée en tant que Postgres utilisateur. Passez de la racine à Postgres et créez un nouveau compte pour l'utilisateur LinuxHint dans la base de données PostgreSQL à l'aide de cette commande:

Postgres $ CreateUser -Interactive Linuxhint
Le nouveau rôle sera-t-il un superutilisateur? (O / N) N
Le nouveau rôle sera autorisé à créer des bases de données? (O / N) N
Le nouveau rôle sera-t-il autorisé à créer de nouveaux rôles? (O / N) N
Postgres $

Ensuite, définissez un mot de passe pour l'utilisateur nouvellement créé LinuxHint. Connectez-vous sur le shell de base de données à l'aide de PSQL et définissez le nouveau mot de passe à l'aide de la commande \ Mot de passe. Après ce type dans \ Q afin de quitter le shell de base de données et de retourner dans le shell dans le terminal:

Postgres $ psql psql (11.5 (Debian 11.5-1 + DEB10U1)) Tapez «Aide» pour une aide supplémentaire.
postgres = # linuxhint entrez un nouveau mot de passe: Retyper le nouveau mot de passe: postgres = # postgres $

L'étape cinq est la création d'une base de données distincte pour l'utilisateur Linuxhint. Afin de le faire, saisissez la commande créée en tant qu'utilisateur postgres:

Postgres $ Createb Linuxhint

Maintenant, l'utilisateur Linuxhint a sa propre base de données et peut travailler avec elle en fonction de ses besoins.

Ajout de postgis

L'étape six consiste en l'installation du package Postgis. Comme le fait pour PostgreSQL auparavant, cela peut être fait comme suit en utilisant APT-GET:

# apt-get install postgis

Alternativement, une recette simple pour le chef serait celle-ci:

Package 'Postgis' faire
Action: installer
fin

Le package PostGIS a une dépendance pour le package Debian PostgreSQL-11-Postgis-2.5 scripts (installés automatiquement) qui connectent PostGIS à PostgreSQL et élimine un certain nombre d'étapes manuelles nécessaires dans d'autres distributions. Peu importe l'une des deux méthodes d'installation que vous choisissez - apt-get ou chef - la gestion de la package Debian s'assurera que tous les packages en fonction sont tous deux installés et configurés correctement.

La septième étape est l'activation de l'extension Postgis. Comme expliqué dans la documentation PostGIS, ne l'installez pas dans la base de données nommée Postgres car celle-ci est utilisée pour les données internes de PostgreSQL, et l'activer uniquement dans chaque base de données utilisateur dans laquelle vous avez réellement besoin. Connectez-vous en tant qu'utilisateur Postgres, connectez-vous à la base de données souhaitée et créez les deux extensions Postgis et Postgis_topology comme indiqué ci-dessous. La commande \ c vous connecte à la base de données souhaitée et Create Extension rend l'extension souhaitée disponible:

postgres = #

Vous êtes maintenant connecté à la base de données «Linuxhint» en tant qu'utilisateur «Postgres».

LinuxHint = # Create Extension PostGis;
Créer une extension
LinuxHint = # Create Extension Postgis_topology;
Créer une extension
linuxhint = #

La septième étape est pour valider que l'activation de l'extension a réussi. La commande PostgreSQL \ DX répertorie les extensions installées, et Postgis et Postgis_topology devraient être dans la liste, maintenant.

Postgis fournit également d'autres extensions. Nous vous recommandons d'installer uniquement ce dont vous avez besoin. Voir la documentation PostGIS pour plus d'informations sur les extensions.

Ajout de données

Avoir configuré PostGIS avec succès, il est temps d'ajouter des tables et de les remplir de données. De nombreuses données géographiques sont disponibles en ligne gratuitement, par exemple de Geofabrik. Les données sont fournies sous forme de fichiers de forme qui est un format de données vectoriel commun pour le logiciel SIG.

Après avoir téléchargé le fichier de forme, chargez le contenu du fichier de forme dans Postgis à l'aide de l'outil de commande spécial SHP2PGSQL. L'exemple ci-dessous montre comment convertir le fichier de forme en une séquence de commandes SQL, d'abord, et télécharger la liste des commandes SQL en base de données à l'aide de PSQL, suivant:

Linuxhint $ shp2pgsql -cdii.SHP Railway> Railway.SQL
Type de fichier de forme: arc
Type postgis: Multilinestring [2]
Linuxhint $
Linuxhint $ PSQL -F Railway.SQL

La figure ci-dessous montre la sortie imprimée à l'écran dès que vous téléchargez les données.

Maintenant, PostgreSQL / Postgis est à votre service et prêt à recevoir vos requêtes SQL. Par exemple, Pgadmin vous permet de regarder sous le capot en quelques minutes. La figure ci-dessous le montre pour les données téléchargées. La colonne la plus à droite a un type de type géométrique.

Conclusion

La configuration de PostgreSQL / Postgis n'est pas une science des fusées. Avec les étapes expliquées ci-dessus, vous pouvez le faire en moins d'une heure et avoir des résultats rapidement. Et voilà!

Liens et références
  • Environnement de bureau XFCE
  • Postgresql
  • Postgis
  • Shahriar Shovon: Installation de Postgresql sur Debian 10, Linuxhint
  • Geofabrik, téléchargements
  • Fichier de forme
  • Chef
  • Redis
  • Sqlite
  • UNICEF
  • Debian GNU / Linux Buster, Debian Wiki
  • Communes créatives
  • Skype
  • Groupe BMW
  • Institute Géographique National (IGN)