Comment installer PostGIS PostgreSQL Geographic Information Systems sur Debian 10

PostGIS est un logiciel open-source qui permet d’intégrer des objets « Geographic Information Systems » à la base de données objet-relationnelle PostgreSQL. Le PostGIS est spécialement conçu pour utiliser des géométries légères qui aident les serveurs à augmenter la quantité de données migrée du stockage sur disque physique vers la RAM. Il s’agit d’une extension de PostgreSQL utilisée pour stocker des données spatiales à l’aide de types de données de géométrie et de géographie. Elle est aussi utilisée pour effectuer certaines requêtes spéciales afin de déterminer la surface, la distance, la longueur, le périmètre et créer des index sur tes données.

Dans ce tutoriel, nous allons apprendre à installer PostGIS sur Debian 10.

Conditions préalables

  • Un serveur fonctionnant sous Debian 10.
  • Un mot de passe root est configuré sur ton serveur.

Démarrage

Avant de commencer, c’est une bonne idée de mettre à jour les paquets de ton système à la dernière version. Tu peux les mettre à jour à l’aide de la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois que tous les paquets sont mis à jour, redémarre ton système pour appliquer les changements.

Installer PostgreSQL

Avant de commencer, tu dois ajouter le référentiel PostgreSQL à ton système.

Tout d’abord, télécharge et ajoute la clé GPG avec la commande suivante :

apt-get install gnupg2 -y
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

Ensuite, ajoute le référentiel PostgreSQL avec la commande suivante :

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

Ensuite, mets à jour le référentiel et installe le serveur PostgreSQL avec la commande suivante :

apt-get update -y
apt-get install postgresql-11 -y

Une fois l’installation terminée, tu peux vérifier l’état du serveur PostgreSQL avec la commande suivante :

systemctl status postgresql

Tu devrais obtenir la sortie suivante :

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago
 Main PID: 2665 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2359)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.

Installer PostGIS

À ce stade, le serveur PostgreSQL est installé et fonctionne. Maintenant, il est temps d’installer PostGIS.

Tu peux l’installer en exécutant simplement la commande suivante :

apt-get install postgis postgresql-11-postgis-2.5 -y

Une fois installé, tu peux passer à l’étape suivante.

Activer PostGIS sur PostgreSQL

Ensuite, tu devras créer une base de données et un utilisateur PostgreSQL, et activer les fonctionnalités de PostGIS sur une base de données avant de pouvoir stocker des données spatiales.

Tout d’abord, connecte-toi à PostgreSQL avec la commande suivante :

su - postgres

Ensuite, crée un utilisateur et une base de données avec la commande suivante :

[email protected]:~$ createuser postgisuser
[email protected]:~$ createdb postgis_db -O postgisuser

Ensuite, connecte-toi à la base de données que tu viens de créer :

[email protected]:~$ psql -d postgis_db

Tu devrais obtenir la sortie suivante :

psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1))
Type "help" for help.

Ensuite, active l’extension PostGIS sur la base de données :

postgis_db=# CREATE EXTENSION postgis;

Ensuite, vérifie si PostGIS fonctionne ou non :

postgis_db=# SELECT PostGIS_version();

Tu devrais obtenir le résultat suivant :

            postgis_version            
---------------------------------------
 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

Enfin, quitte le shell PostgreSQL avec la commande suivante :

postgis_db=# \q
[email protected]:~$ exit

Optimiser PostgreSQL pour PostGIS

PostgreSQL est conçu pour fonctionner avec des bases de données de petite à grande taille. Les objets de la base de données PostGIS sont volumineux par rapport aux données textuelles. Tu devras donc optimiser PostgreSQL pour mieux fonctionner avec les objets PostGIS.

Tu peux optimiser le serveur PostgreSQL en modifiant le fichier /etc/postgresql/11/main/postgresql.conf:

nano /etc/postgresql/11/main/postgresql.conf

Change le paramètre suivant en fonction de la RAM de ton système :

#This value should be around 75% of your server’s RAM.
shared_buffers = 1500M
#This allows PostgreSQL to cache more data in memory while it performs its sorting
work_mem = 64MB
#A checkpoint is a periodic action that stores information about your system
checkpoint_segments = 6
#This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk.
random_page_cost = 2.0 

Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, redémarre le service PostgreSQL pour appliquer les modifications.

systemctl restart postgresql

Conclusion

Félicitations ! Tu as réussi à installer PostGIS sur le serveur PostgreSQL. Ta base de données est maintenant configurée pour les requêtes spatiales. Pour plus d’informations, consulte la documentation de PostGIS à l’adresse PostGIS.

Vous aimerez aussi...