Introduzione
PostGIS è un estensore di database gratuito e open source per PostgreSQL Database Management System. Ti aiuta ad aggiungere alcune funzioni extra come area, unione, intersezione, distanza, tipi di dati e consentire l'esecuzione di query di posizione in SQL. Con PostGIS, puoi memorizzare i tipi di poligoni e punti dei dati nel database PostgreSQL.
In questo tutorial, ti mostreremo come installare PostGIS con PostgreSQL su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Una password di root o un utente con privilegi sudo.
Se desideri installare PostGIS PostgreSQL su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Iniziare
Prima di iniziare, dovrai installare PostGIS e il repository EPEL sul tuo sistema. Puoi installarli entrambi eseguendo il seguente comando:
sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Quindi, abilita il repository Powertool e disabilita il repository PostgreSQL predefinito con il seguente comando:
sudo dnf config-manager --set-enabled powertools
sudo dnf -qy module disable postgresql
Una volta terminato, puoi procedere al passaggio successivo.
Installare PostGIS
Ora puoi installare PostGIS eseguendo il seguente comando:
sudo dnf install postgis25_12
Una volta completata l'installazione, puoi verificare il pacchetto PostGIS con il seguente comando:
sudo rpm -qi postgis25_12
Dovresti ottenere il seguente output:
Name : postgis25_12
Version : 2.5.5
Release : 2.rhel8
Architecture: x86_64
Install Date: Fri 19 Feb 2021 12:24:13 AM CET
Group : Unspecified
Size : 29832534
License : GPLv2+
Signature : DSA/SHA1, Tue 10 Nov 2020 07:36:47 PM CET, Key ID 1f16d2e1442df0f8
Source RPM : postgis25_12-2.5.5-2.rhel8.src.rpm
Build Date : Tue 10 Nov 2020 07:30:09 PM CET
Build Host : koji-rhel8-x86-64-pgbuild
Relocations : (not relocatable)
Vendor : PostgreSQL Global Development Group
URL : http://www.postgis.net/
Summary : Geographic Information Systems Extensions to PostgreSQL
Description :
PostGIS adds support for geographic objects to the PostgreSQL object-relational
database. In effect, PostGIS "spatially enables" the PostgreSQL server,
allowing it to be used as a backend spatial database for geographic information
systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS
follows the OpenGIS "Simple Features Specification for SQL" and has been
certified as compliant with the "Types and Functions" profile.
Successivamente, inizializza il database PostgreSQL con il seguente comando:
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
Successivamente, avvia il servizio PostgreSQL e abilitalo all'avvio al riavvio del sistema con i seguenti comandi:
sudo systemctl start postgresql-12.service
sudo systemctl enable postgresql-12.service
Creare un'estensione
A questo punto, PostgreSQL e PostGIS sono stati installati. Ora dovrai creare un'estensione per PostGIS.
Innanzitutto, accedi all'utente Postgres con il seguente comando:
su - postgres
Oppure con il seguente comando sudo:
sudo su - postgres
Successivamente, crea un utente e un database postgres con il seguente comando:
createuser test_usr
createdb test_postgis -O test_usr
Successivamente, connettiti al database con il seguente comando:
psql -d test_postgis
Dovresti vedere il seguente output:
psql (12.6)
Type "help" for help.
Successivamente, crea un'estensione PostGIS con il seguente comando:
CREATE EXTENSION postgis;
Successivamente, puoi verificare la versione di PostGIS utilizzando il seguente comando:
select PostGIS_Full_Version();
Dovresti vedere la versione di PostGIS nel seguente output:
postgis_full_version
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------
POSTGIS="2.5.5" [EXTENSION] PGSQL="120" GEOS="3.8.1-CAPI-1.13.3" PROJ="Rel. 7.2.1, January
1st, 2021" GDAL="GDAL 3.2.1, released 2020/12/29" LIBXML="2.9.7" LIBJSON="0.13.1" LIBPROTO
BUF="1.3.0" RASTER
(1 row)
Quindi, esci dalla shell di Postgres con i seguenti comandi;
exit
exit
Conclusione
In questo tutorial hai imparato come installare PostGIS con PostgreSQL su CentOS 8. Ora puoi usare PostGIS per aggiungere la geometry al tuo database.